繁体   English   中英

二进制输出到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" ,它将打开一个文件以进行读取和写入,并且不截断该文件(如果存在)(实际上,该文件必须存在,否则将无法打开文件)。

参考文献:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM