C语言写的职工信息管理系统,输入职工信息后关闭程序,下次打开只剩最后一条职工信息,这是为甚?
发布网友
发布时间:2022-05-29 07:43
我来回答
共1个回答
热心网友
时间:2023-10-11 12:26
fopen()用r+方式打开时 默认定位文件指针到文件头
所以每次写的时候 都会把原来的覆盖 于是只剩下一条了
可以用a的方式打开 fopen("name", "a");
你的struct应该是二进制的模式,建议用"ab"
a代表的是附加 即在原始文件结尾加上新的数据。
使用r+的方式,可以在write的时候,open后调用fseek将指针指向文件尾,应该可以达到同样效果
fseek(fp, 0, SEEK_END);