用fwrite函数把句子写入文件,为什么没次写完,本来的内容就不见了,只是把内容换成新的内容,能不能把句子加入文件而不是覆盖原内容呢?还请介绍一下其他有关文件的函数,那些是会覆盖的,那些是可以把内容加入文件的。
2 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
也许你打开文件时,打开模式没有设置为添加(即a模式),而是使用了写模式(即w模式),这样每次写文件时,都会从头开始覆盖原有的内容。示例如下(以fopen()函数为例):
#include <stdio.h>
int main(void)
{
FILE *fp=fopen("./ccc.txt","a");//注意这里
fwrite("abc",sizeof(char),3,fp);
fclose(fp);
return 0;
}
守着一只汪
TA贡献1872条经验 获得超3个赞
这个是写二进制文件的,fread是二进制文件读取的,文本文件的时候是用fscanf写文件,fprintf读文件的……文件的函数还有fseek是用来定位的
添加回答
举报
0/150
提交
取消