【问题标题】:Binary output to file in random positions in C++二进制输出到 C++ 中随机位置的文件
【发布时间】:2014-01-13 09:18:03
【问题描述】:

我开始觉得自己很笨,但是我在将二进制数据输出到文件时遇到了问题。 我有一个文件,比如说,1000 字节长。在 C++ 中,我想做的只是打开文件,替换给定位置的一个字节(比如说,第 i 个字节),然后关闭它。

操作前的文件: AAAAAA 操作后的文件: 啊啊啊

最简单的方法是什么?我尝试用ofstream.open打开它,有以下模式:

ios::binary|ios::out
ios::binary|ios::app
ios::binary|ios::ate

所有这些都会影响操作后文件的实际大小。我该怎么办?我开始感到绝望了。

非常感谢大家,祝大家圣诞快乐!

马特奥

【问题讨论】:

    标签: c++ binary append ofstream


    【解决方案1】:

    除了二进制模式,还需要outin模式打开。这对应于fopen模式"r+b",它打开一个文件进行读写,如果文件存在则不截断文件(事实上,它必须存在,否则你将无法打开文件)。

    参考资料:

    【讨论】:

    • 这正是我所需要的。非常感谢! :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多