博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fread 不能读取最后一个数据块
阅读量:5159 次
发布时间:2019-06-13

本文共 582 字,大约阅读时间需要 1 分钟。

今天遇到一个问题,fread()竟然不能读取文件中的最后一个数据块。

我定义了一个结构体:

Persong{    char name[10];    char phone[15];}
以及两个函数:
int insert(Person*person){    FILE *fd;    //...    fwrite();//意思一下流程    //...}int show(char *name){    FILE *fd;    //...    while(!feof(fd))//没有到文件尾            fread();//意思一下流程    //...}
主函数:

 
 

void main(){    //...    insert();    show();}
状态:

能够成功insert,但是读取的时候不能读出刚插入的一个数据块(Person结构体)。

搞了两个小时,最后找出问题的我眼泪掉下来。

原来问题出在fclose(fd)。

两个函数中分别打开了同一个文件,但是我都忘记close,所以insert后没有立即更新到文件中,然后show的时候打开文件,文件中自然没有刚插入的数据,所以造成了文件读不全的假象。

转载于:https://www.cnblogs.com/zhanghang-BadCoder/p/6476470.html

你可能感兴趣的文章
H5 + 3D + AR/VR 综述
查看>>
HTML5新属性在Google浏览器中不能显示的问题
查看>>
Java 泛型初识
查看>>
Core Bluetooth Programming Guiding - Performing Common Central Role Tasks 粗译
查看>>
深复制和浅复制
查看>>
DP ZOJ 2745 01-K Code
查看>>
微信开发之消息接收--文本消息(五)
查看>>
Nginx+uWSGI+Django环境配置
查看>>
黑盒白盒测试方法
查看>>
《基础排序算法练习题》
查看>>
类Lisp解释器JavaScript实现
查看>>
关于字符串查找 charindex ,Patindex 还有一个like
查看>>
setState立即更新的两种写法
查看>>
冒泡、捕获的问题
查看>>
linux下压缩与解压
查看>>
C语言学习(35)
查看>>
Struts2 中的值栈的理解
查看>>
daydayup1 codeforces141c
查看>>
JMS 的PTP模型
查看>>
通过Cookie跳过登录验证码【限cookie不失效有用】
查看>>