二进制输出到C++中随机位置的文件
Binary output to file in random positions in C++
我开始觉得笨拙愚蠢,但是我在将二进制数据输出到文件时遇到了问题。我有一个文件,比方说,1000字节长。C++,我想做的只是打开文件,替换给定位置的一个字节(比如说,第 i 个字节),然后关闭它。
操作前文件: AAAAAA操作后的文件: AAABAA
最简单的方法是什么?我尝试使用ofstream.open打开它,具有以下模式:
ios::binary|ios::out
ios::binary|ios::app
ios::binary|ios::ate
所有这些都影响了操作后文件的实际大小。我该怎么办?我开始感到绝望。
非常感谢大家,祝大家圣诞快乐!
马迪奥
除了二进制模式,您还需要在out
和in
模式下打开它。这对应于fopen
模式"r+b"
,该模式打开文件进行读取和写入,并且不会截断文件(实际上,它必须存在,否则您将无法打开文件)。
引用:
-
std::basic_filebuf::open
-
std::fopen
相关文章:
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 如何选择在 csv 文件中输出的位置
- 无法打开 fstream C++文件,即使它与 .cpp 位于同一位置
- 如何在特定位置追加 json 文件
- 将文件复制到自定义位置,存在字符串转换问题
- 奇怪的Arduino C++编译错误取决于文件位置
- 在 elf 文件中查找全局变量的位置
- 可以将Boost消息队列文件重定向到用户指定的位置
- 您如何确定 MySQLCPPConn 库文件的位置?
- 当文件位于正确位置时,ifstream无法打开该文件
- 是否可以将要"ShellExecute"的文件包含在 dll 中?如果是这样,"ShellExecute"中的文件位置应该是什么?
- 在位置上运行具有依赖项的.exe文件
- 快速访问 ifs() C++中的文件位置
- 在C++头文件中放置 using 指令的位置
- 放置 std_lib_facilities.h 头文件的位置
- 如何使用向量 c++ 迭代文件中单词的位置
- 在动态加载的位置无关的可执行文件中分离错误
- 如何选择文件保存到的位置?
- 快速从文件中读取下一个字符串,而无需移动文件的位置
- 将cout引用到一个变量位置(文件或cmd)