猿问

根据下面的情况,请问该怎么用fwrite函数把句子写入文件?

用fwrite函数把句子写入文件,为什么没次写完,本来的内容就不见了,只是把内容换成新的内容,能不能把句子加入文件而不是覆盖原内容呢?还请介绍一下其他有关文件的函数,那些是会覆盖的,那些是可以把内容加入文件的。

精慕HU
浏览 320回答 2
2回答

一只甜甜圈

也许你打开文件时,打开模式没有设置为添加(即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;}

守着一只汪

这个是写二进制文件的,fread是二进制文件读取的,文本文件的时候是用fscanf写文件,fprintf读文件的……文件的函数还有fseek是用来定位的
随时随地看视频慕课网APP
我要回答