fputc如何影响文件大小
how fputc affect file size?
我使用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
添加到开放模式字符串
相关文章:
- 读取某些文件时出现分段错误,似乎与文件大小无关
- 构建挂起,即使是适度的文件大小
- 如何在Windows内核中获取文件大小
- 为什么 QFileSystemWatcher 会发出多个信号?而 QFileInfo 首次写入零文件大小
- 使用 C++ iOS::ate 获取错误的文件大小
- 相同的源代码,不同的可执行文件大小?
- 为什么未关闭的文件大小为 4 字节
- 读取二进制文件大小的短自上周以来停止工作
- 如何减小C++标准库libstdc++.so文件大小
- 文件大小和缓冲区过冲
- 如何从范围 v3 的istream_range中检索文件大小?
- 如何使用直接IO编写一个带有扩展文件大小的小文件
- 如何使用文件系统库获取"true"文件大小?(C++17)
- 如何限制文件大小,以便我的程序在变大之后创建一个新文件?并编辑新创建的文件的名称
- 如何使用C 17获取文件大小
- HttpQueryInfo 获取文件大小
- 二进制文件大小大于预期的 c++
- 如何计算预期的核心文件大小
- C++数据类型及其对可执行文件大小的影响
- fputc如何影响文件大小