c++读取文件中的链表存取问题

问题描述

c++读取文件中的链表存取问题

这是一个读取文件中的链表,然后再存进新的链表为本次操作所使用,但是在存到新链表中
,画红线的p2->next=p1;的时候就会报错。这是一个双向链表,

解决方案

next和prece指针的写法并没有错
感觉是你的fread有问题,应该是fread((&p1, sizeof(Doctor), 1, fp)) != EOF
你sizeof一个指针,永远是4

解决方案二:

1.首先fread的用法有问题吧,fread一般就读取字符串,你那个Doctor的结构是什么样的,也是需要看的
2.fread((&p1, sizeof(Doctor), 1, fp)) != EOF
这句话要改成.fread((p1, sizeof(Doctor), 1, fp)) != EOF
你试试看

解决方案三:

一个c++读取.ini文件问题

解决方案四:

问题应该出在fread((p1, sizeof(Doctor), 1, fp)) != EOF和p2=p1,你txt文件中一个数据项大小应该等于sizeof(Doctor).

解决方案五:

不知道 Doctor 结构的定义是怎样的,除了 next 成员外应该还有专门存储数据的成员(如 data),所以应使用 fread(&(p1->data),sizeof(p1->data),1,fp) 的方式读取数据。

而使用 fread(&p1,sizeof(p1),1,fp) 的方式读取数据,实际是将数据读入了 p1 指针之中,导致 p1 不再指向原来的 new Doctor 对象,所以再次访问 p1 所指向的内存时导致内存访问异常。

时间: 2024-09-27 19:15:38

c++读取文件中的链表存取问题的相关文章

c++-用C++读取文件中特定行的某几列数据并输出到另一个文件

问题描述 用C++读取文件中特定行的某几列数据并输出到另一个文件 AR ZIMM 2014 06 30 00 00 0.000000 2 2.175456910513e-08 1.929140019560e-11AR ZWE2 2014 06 30 00 00 0.000000 2 -6.930289135325e-03 2.317673679230e-11AS G01 2014 06 30 00 00 0.000000 2 1.652894267903e-05 1.737915981300e-

一次读取文件中所有内容

http://blog.csdn.net/banzhiyu/archive/2007/07/26/1708438.aspx 一次读取文件中所有内容  #include <fstream>#include <sstream>#include <string>#include <iostream>#include <cstdlib>using namespace std; int  main(){string str;ifstream ifile(&

怎么用C++读取文件中的所有字符?

问题描述 怎么用C++读取文件中的所有字符? int main() { p=0; row=1; ifstream in; in.open("test.txt"); //while(ch!='#'); p=0; while(!in.eof()) { if(in.is_open() ) { scaner(in); } switch(syn) { case 11: cout<<"("<<sum<<","<<

代码-从服务器上下载的压缩文件,通过流的方式怎么读取文件中的内容。

问题描述 从服务器上下载的压缩文件,通过流的方式怎么读取文件中的内容. 如何用java代码实现压缩文件的读取? 例如从银行服务器上下载对账文件后,为了不在本地保存文件. 压缩文件中的文件格式是俩个文本文件,怎么用流的方式读取到压缩文件中的文件内容. 解决方案 ZipEntry http://daoshud1.iteye.com/blog/2012362 解决方案二: http://www.cnblogs.com/kgdxpr/archive/2013/05/20/3088254.html 解决方

csvreader-CsvReader读取文件中方法

问题描述 CsvReader读取文件中方法 CsvReader读取文件问题中有获取文件共有多少行数据的方法吗,就是想控制一次导入的数据量 想得到有多少行数据 解决方案 属性文件的几种读取方法C++中读取整个文件的方法C++读取txt文件的方法

c-C读取文件中含有%的字符串

问题描述 C读取文件中含有%的字符串 %E4%B8BB%E588%86E7%B1BB%E58F%B73D%2827A24B5%2F12%27+or+%27A24B5%2F14%27+or+%27A24D1%2F14%27%29%29% 是网页post请求的一部分,每当我从文件中读取之后提交了就找不到相应的网页. 如果我把文件里的所有%替换为%%,请求成功了,但是请求的网页却不对 到底是怎么回事呢?请大家帮帮忙 解决方案 url做了urlencode编码.可以urldecode解码.

java中如何读取文件中内容,并打印日历

问题描述 java中如何读取文件中内容,并打印日历 读取文件,文件中有一个8位的日期,读出后打印此日期开始的一个月日历 解决方案 用java I/O 流 ,你查一下. 解决方案二: 先学会读取文件 http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 有了日期,日历自然出来了.

分批读取文件中数据的程序流程及其C代码实现

一.概述 在实际的软件开发项目中,经常需要处理大量的文件.某些文件中包含了相当多的数据记录数,如作者本人参与过的项目中,一个文件中有好几十万条记录.如果一次性将多条记录读入,则会花费大量的处理时间,且占用大量的内存. 为此,要求对于包含大量数据记录的文件进行分批读取操作,即每一轮读取一定数目的数据记录,待将这些记录处理完成之后,再读取下一批数据.本文介绍分批读取文件中数据的程序流程,并给出了C程序实现. 二.总体程序流程 实现分批读取文件中数据的程序流程如图1所示. 图1 实现分批读取文件中数据

java读取文件中的内容写入excel中

public static void writeXls() {//把读取的文件写入到excel文件中   int i = 0;   try {    File file = new File("d:/cn.csv");    if (file.isFile() && file.exists()) {     InputStreamReader read = new InputStreamReader(       new FileInputStream(file));