我有两个流指向同一个文件。第一个是std::ofstream os
,第二个是std::ifstream is
,都是以二进制模式打开。
我正在使用 os
创建一个新文件。文件创建过程需要我(有时)读取由 os
写入文件的数据。 is
流寻找所需的位置,读取一些数据,然后 os
在其(不同的)偏移处执行它的操作,然后刷新。
这样做合法吗?溪流会互相踩踏吗?
最佳答案
不能引用任何标准,但是/因为这是特定于平台的
(也许是独占访问,不同级别的缓冲......)
你可以只使用一个 fstream
和 ios::in|ios::out
并在每一个行动之前寻求。
关于C++使用不同的流读取和写入同一文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25983180/