C++使用不同的流读取和写入同一文件

标签 c++ io

我有两个流指向同一个文件。第一个是std::ofstream os,第二个是std::ifstream is,都是以二进制模式打开。

我正在使用 os 创建一个新文件。文件创建过程需要我(有时)读取由 os 写入文件的数据。 is 流寻找所需的位置,读取一些数据,然后 os 在其(不同的)偏移处执行它的操作,然后刷新。

这样做合法吗?溪流会互相踩踏吗?

最佳答案

不能引用任何标准,但是/因为这是特定于平台的
(也许是独占访问,不同级别的缓冲......)

你可以只使用一个 fstreamios::in|ios::out
并在每一个行动之前寻求。

关于C++使用不同的流读取和写入同一文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25983180/

相关文章:

c++ - 如何在Boost MultiIndex中找到最常见的非唯一键?

C++:vector 和 random_shuffle 的问题

C++14 自定义容器支持分配器

.net - IO.FileNotFoundException 但文件应该存在

c++ - 升压程序选项描述的问题

java - IOUtils.toString(InputStream) 的 Guava 等价物

C : initializer element is not constant

c - 在C中逐字符读取文件

c# - 设置整个组对目录的访问权限

c++ - 使用 vector 创建形状