[英]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"
,它将打开一个文件以进行读取和写入,并且不截断该文件(如果存在)(实际上,该文件必须存在,否则将无法打开文件)。
参考文献:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.