关于文件打开后写入数据未关闭而再次打开再次写入数据的问题

lycosme lycosme 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
my_file = fopen("11.txt", "w");

fprintf(my_file,"start!\n");
//fclose(my_file);//在此处不关闭文件

my_file = fopen("11.txt", "a");
fprintf(my_file,"my file\n");
fclose(my_file);


如果在中间不关闭文件,那么最后输出的一行"my file"则根本没有被写入到文件里,请问这是为什么呢?

而如果在中间再次打开文件前将文件关闭,或用fflush刷新一下缓存,则肯定是可以的。我想知道如果没刷新缓存,为什么最后的fprintf没有成功,最后不是有关闭的操作吗?是不是打开和关闭操作的次数必须对应?或者是刷一下缓存?
...全文
评论 10
收藏 已收藏
分享
返回顶部
lycosme
C语言 70,039 成员 243,237 内容