用fwrite函數(shù)把句子寫(xiě)入文件,為什么沒(méi)次寫(xiě)完,本來(lái)的內(nèi)容就不見(jiàn)了,只是把內(nèi)容換成新的內(nèi)容,能不能把句子加入文件而不是覆蓋原內(nèi)容呢?還請(qǐng)介紹一下其他有關(guān)文件的函數(shù),那些是會(huì)覆蓋的,那些是可以把內(nèi)容加入文件的。
2 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
也許你打開(kāi)文件時(shí),打開(kāi)模式?jīng)]有設(shè)置為添加(即a模式),而是使用了寫(xiě)模式(即w模式),這樣每次寫(xiě)文件時(shí),都會(huì)從頭開(kāi)始覆蓋原有的內(nèi)容。示例如下(以fopen()函數(shù)為例):
#include <stdio.h>
int main(void)
{
FILE *fp=fopen("./ccc.txt","a");//注意這里
fwrite("abc",sizeof(char),3,fp);
fclose(fp);
return 0;
}

守著一只汪
TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
這個(gè)是寫(xiě)二進(jìn)制文件的,fread是二進(jìn)制文件讀取的,文本文件的時(shí)候是用fscanf寫(xiě)文件,fprintf讀文件的……文件的函數(shù)還有fseek是用來(lái)定位的
添加回答
舉報(bào)
0/150
提交
取消