c语言先将文件中的内容读到结构体,改变其中的一个值,然后再写入文件为什么写入的数据会变多

如题所述

你可以在第二次写入前,调用fseek,把文件流指针移动到要覆盖内容的起始位置。比如fseek(fp, 0, SEEK_SET);就是移动到文件开头,从头开始覆盖。
但注意的是,如果你改写的内容比原内容少,那么就不能完全覆盖了。可以考虑直接新建文件放改写内容,更简单。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-22
你没有将文件写位置回到首位置,只是往文件尾部加内容。
相似回答