社区
C语言
帖子详情
为什么断电时fwrite函数写文件出错?
yangangs
2011-03-07 02:32:18
采用的是追加模式写文件,断电的时候每次都会在文件的末尾有8192个00,写文件的实现是4096个字节写一次,后来我在fwrite的地方都加上了日志打印,发现日志记录的每次写文件都写成功了,而且写入的长度大于文件实际长度,并且在文件末尾有8192的00,很奇怪,忘高人指点啊!
...全文
320
7
打赏
收藏
为什么断电时fwrite函数写文件出错?
采用的是追加模式写文件,断电的时候每次都会在文件的末尾有8192个00,写文件的实现是4096个字节写一次,后来我在fwrite的地方都加上了日志打印,发现日志记录的每次写文件都写成功了,而且写入的长度大于文件实际长度,并且在文件末尾有8192的00,很奇怪,忘高人指点啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2011-03-07
打赏
举报
回复
断电算轻的,没被雷击算幸运。
yangangs
2011-03-07
打赏
举报
回复
已经可以确定fflush执行成功了,我们的另一个程序用的是预分配文件大小的方式写文件就不会出现此类问题。
qiang81020
2011-03-07
打赏
举报
回复
楼上的正解...软件不是万能的
taodm
2011-03-07
打赏
举报
回复
ups是王道,别在软件上折腾硬件问题。
「已注销」
2011-03-07
打赏
举报
回复
每次写入以后都fflush一下行不?
yangangs
2011-03-07
打赏
举报
回复
[Quote=引用 1 楼 qq120848369 的回复:]
Fclose谢谢
[/Quote]
是持续的写文件,断电是不可预知的,怎么可能fclose呢?
qq120848369
2011-03-07
打赏
举报
回复
Fclose谢谢
C语言
文件
操作
本文详细介绍了C语言中
文件
操作的相关知识,包括
文件
的分类、
文件
名、
文件
的打开和关闭,以及
文件
的读
写
。重点讲解了
文件
指针、fopen和fclose
函数
的使用,还有文本信息
函数
如fputc、fgetc、fputs、fgets,以及二进制输入输出
函数
fwrite
和fread。同
时
,讨论了
文件
的随机读
写
、文本
文件
和二进制
文件
的区别,以及
文件
读取结束的正确判定方法。文章最后提到了
文件
缓冲区的概念及其重要性。
文件
本文介绍了
文件
的两种存放形式——文本
文件
和二进制
文件
,以及它们的存放位置。重点讲解了
文件
系统、
文件
操作的6个基本
函数
,如fopen、fclose、fread、
fwrite
、fseek和ftell,详细阐述了各种
文件
打开模式及其应用场景,并提到了
文件
指针和
文件
后缀名的重要性。
文件
的相关用法
本文详细讲解了C语言中的
文件
操作,包括文本和二进制
文件
的区别,
文件
指针,fopen、fclose、
fwrite
、fread等
函数
的使用,以及
文件
路径、
文件
流的概念。还提供了读
写
文件
的实例代码,涵盖了从内存到
文件
和从
文件
到内存的数据转换。
【c语言】c语言
文件
操作1fputc 2fgetc 3fputs 4fgets 5fprintf 6fscanf 7
fwrite
8fread (超详细)
本文详细介绍了C语言
文件
操作,包括使用
文件
的原因、
文件
分类、打开与关闭,还讲解了顺序读
写
(fputc、fgetc等)、随机读
写
(fseek、ftell等)
函数
,以及文本和二进制
文件
区别、
文件
读取结束判定和
文件
缓冲区等知识。
【C语言】从底层深入解析
文件
操作
本文深入探讨C语言中
文件
操作的底层机制,涵盖
文件
的持久化作用、文本与二进制
文件
的区别、
文件
指针与描述符的关系及缓冲区工作机制。重点讲解fopen、fread、
fwrite
、fseek等核心
函数
的应用,并结合操作系统层级的抽象帮助开发者理解流、元数据和I/O效率优化。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章