【发布时间】:2014-05-05 00:02:18
【问题描述】:
我正在使用 fputc(在 C/C++ 中)将一些数据输出到文件中,文件大小在我的项目中对我很重要。但是resutling文件的大小似乎不正确,一个简单的代码示例:
FILE *fp = fopen( "123.txt", "w" );
for( int i=0; i<64; i++ )
fputc( i, fp );
fclose( fp );
执行此代码后,文件大小为65B,不是64B,但如果我使用fputc(1,fp),文件大小为64B。
有什么诀窍吗?或者我可以做些什么来控制输出文件的大小?
【问题讨论】:
-
'fputc 如何影响文件大小?' bytewise?!? ....
-
您能否显示 123.txt 中的确切字节数?用
hexdump -C(linux) 转储它 -
当您输出字节值
13(CR) 时,它可能会被转换为 CRLF,因为您fopened 以文本与二进制模式编辑文件。将您的模式更改为wb并重试。 -
或者 LF 被翻译成 CRLF。但结果相同。