gpt4 book ai didi

c++ - fputc 如何影响文件大小?

转载 作者:太空狗 更新时间:2023-10-29 23:51:09 26 4
gpt4 key购买 nike

我正在使用 fputc(在 C/C++ 中)将一些数据输出到文件中,文件大小对我的项目很重要。但是结果文件的大小似乎不正确,一个简单的代码示例:

FILE *fp = fopen( "123.txt", "w" );
for( int i=0; i<64; i++ )
fputc( i, fp );
fclose( fp );

执行此代码后,文件大小为 65B,而不是 64B,但如果我使用 fputc(1,fp),文件大小为 64B。有什么诀窍吗?或者我可以做些什么来控制输出文件的大小?

最佳答案

我猜您是在 Windows 上执行此操作。

由于您以翻译(文本)模式打开文件,换行符将转换为回车符/换行符对。字符代码 10 恰好被视为换行符,因此与您编写的内容相比,您最终得到了一个额外的字节。

如果您改为以二进制模式打开文件,则不会发生这种情况。

FILE *fp = fopen( "123.txt", "wb" );

注意添加到打开模式字符串的 b

关于c++ - fputc 如何影响文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23462991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com