【发布时间】:2018-05-18 22:07:30
【问题描述】:
我正在用 C++ 一次一个字节地写入文件。到目前为止,我有这样的代码:
if ( i == 0 ) { outputfile << '\x0';}
if ( i == 1 ) { outputfile << '\x1';}
....
if ( i == 254 ) { outputfile << '\xfe';}
if ( i == 255 ) { outputfile << '\xff';}
它有效,但您可以想象这是额外的 255 行。如果我使用 Python,它会很简单:
output.write(bytes((i,)))
有没有更简单的方法将单字节整数写入字节?最多就几行代码?
过去一天我尝试使用 char 和一些转换,但我根本不擅长处理那种数据类型。我写的文件最终被损坏了。即使我得到了正确的文件大小,但在我尝试这种方式时它会占用更多的磁盘空间。
感谢阅读
【问题讨论】:
-
一次写一个字节是浪费效率。将它们放入缓冲区,然后块写入缓冲区。