std::ofstream 打开文件并替换特定的偏移量
std::ofstream open file and replace in specific offset
我想打开一个文件(不重新创建它)并写入特定的偏移量。
这是当前代码:
std::ofstream file(conf_file_path, std::ios::app);
file.seekp(offset, std::ios::beg);
const auto& output = file.write(conf_str, conf_str_len);
但它总是写入文件的末尾(可能是由于 app
标志)
如果我不使用 app
标志,它会在我打开文件时重新创建文件。
如何在不重新创建它的情况下打开它并能够写入特定的偏移量?
它总是写入文件的末尾(可能是由于应用程序标志)
是的,这是由于app
标志。文档内容如下:
应用 - 在每次写入之前查找到流的末尾
如果我不使用应用程序标志,它会在我打开文件时重新创建文件。
如果在模式中设置了out
或trunc
标志,则会销毁文件的内容(如果已存在)。
如何在不重新创建它的情况下打开它并能够写入特定的偏移量?
您可以使用in|out
.如果文件不存在,这将出错;如果存在,则将从头开始打开并读取该文件。如果您希望从末尾读取流,则可以另外设置 ate
标志。
所有这些都清楚地记录在这里;阅读手册真的很有帮助。
相关文章:
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 通过指针偏移量访问结构变量值
- 以线程安全的方式转换 C/C++ 中时区名称字符串的时区偏移量
- librdkafka:rd_kafka_assignment 返回分配分区的偏移量 -1001
- 是否通过向封闭对象的地址添加字节偏移量来访问子对象
- 向指针地址添加 20 个字节偏移量
- glMapBufferRange(..) 中的偏移量关系和 glDrawArraysInstanced(..) 中的第一
- 是否有与 C# Structs/StructLayout 等效的功能,C++中的字段偏移量?
- 我的 sumASCII 函数中的此偏移量是多少?
- boost::序列化中的派生类偏移量计算.有效吗?
- RedisGraph 语法错误在偏移量 8 靠近"创建"
- 胎面偏移量的时间复杂度?
- 如何从 c++ 中的给定标准输入中获取每个字符的偏移量?
- 编译器在构造函数中计算的成员偏移量不正确
- 使用基地址和偏移量获取变量的地址
- c++ 读取进程内存基址 + 偏移量不起作用
- 通过其在 C 中的偏移量调用函数
- ld:无效的字符串偏移量...对于".strtab"部分
- std::ofstream 打开文件并替换特定的偏移量
- DLL注入替换已知偏移量C++处的字符串