用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條經驗 獲得超4個贊
這個是寫二進制文件的,fread是二進制文件讀取的,文本文件的時候是用fscanf寫文件,fprintf讀文件的……文件的函數還有fseek是用來定位的
添加回答
舉報
0/150
提交
取消