ZKX's LAB

c语言读取文件内容出错 C语言读取文件操作:为什么写进文件里的东西读出来时老出错。。求指点

2020-07-26知识14

求助,C语言文件读取出错 关于feof的MSDN,注意括号里面的内容,只有当试图读取超过文件结尾的数据时,才返回非零值:The feof function returns a nonzero value【after the first read operation that attempts to read past the end of the file】.It returns 0 if the current position is not end of file.There is no error return.假设文件中有条目1、条目2、条目3读取完条目1、条目2、条目3后,feof仍然不会返回非零值,只有在你试图读取条目4的时候才返回非零值。于是这段语句:while。feof(fp)){p=(struct address*)malloc(sizeof(struct address));fread(p,sizeof(struct address),1,fp);p->;next=(*head)->;next;(*head)->;next=p;}在读取完文件中最后一段数据后,还要运行一次于是最后链表多了一段内容可以在fread后面再加个判断feof改成while。feof(fp)){p=(struct address*)malloc(sizeof(struct address));fread(p,sizeof(struct address),1,fp);if。feof(fp)){p->;next=(*head)->;next;(*head)->;next=p;}}警告:用malloc申请的内存在不用的时候要释放,存文件前,你有一个链表;在读取文件时,你把原来的链表彻底抛弃,在抛弃前最好先把链表释放,因为你抛弃后失去。c语言读取txt文件中的数字出错 把a改成unsigned int类型,把读取/输出a的地方,把%d改成%u即可。C语言读取文件出错 你所有调用strtok函数的地方的第二个参数都填错了,应该填字符串类型而不是字符类型。把你代码里所有strtok(NULL,' ')都改成strtok(NULL,\"\")。所有strtok(buf,' ')改成strtok(buf,\"\")。C语言读取文件中数据计算后输出出错 感觉是你读文件时和求平均时用到数组char a[N][5],int b[N][5],c[N]的问题因为形式参数单向传递,无法传地址,你希望从input函数得到数组a、b、c的内容,返回来给主函数,这种做法貌似不行。两种方法,一种是在主函数前面声数组char a[N][5],int b[N][5],c[N],即将它们变为全局变量;另一种是传地址,用out或ref吧,上搜C语言,读取文件到内存显示错误 主要是你写入文件 和读出的时候 用的是什么语句。两个必须对应起来,而且不能错要可以人为读取文件。那么写入的时候 用fprintf读取的时候用fscanf这样效果会好很多C语言打开文件成功但是读取数据失败 首先你的t不能加取址符,最重要的是你的if语句后面加了分号所以那个printf的文件打开失败一定会打印的额、c语言 文件读取时出错了 求大神指导 在while语句最后加一句fscanf(fp,\"%s%s\",file2.name,file2.code试试C语言,读写文件出错,高分求救啊~ 没时间仔细看程序,提示几点。(1)处理中文编码字符串最好用 unsigned char 型,也就是考虑 一个一个 byte(相当于无符号8 bits 整数)。这种类型,既可当整型数运算,比较,也便于用 位运算 取数,移位。code如果 code 是 unsigned char 可以用\",如果是char,按理要用 strncmp 或 strcmp,用<;有时可以,有时也许不可以。(2)2进制文件,输出输入函数中变量存放大小用 sizeof(.)比较保险,因为编译器给变量定义的大小,有时同自己的想象不一样(即不同编译器给的大小不同)。fwrite(buf,SIZE,1,fp)-SIZE 用 sizeof(类型)。(3)把一些变量 定义为 static,例如 FILE,或把它 放到 main()外层,因为全局量会被编译器自动处理为 static

#sizeof#c语言#feof#strtok

随机阅读

qrcode
访问手机版