同时读取和写入C++中两个不同文件的文件流

Reading and writing file streams simultaneously for two different files in C++

本文关键字:文件 两个 读取 C++      更新时间:2023-10-16

我正在做一个项目,我需要编写一个函数来将一个图像插入另一个图像之上。我们称之为插入和原始图像(原始图像是要插入的图像)。我正在使用C++流。

所以我需要读取插入图像并将其写入原始图像。两个文件流都将是开放的,是否有任何非正式标准说我不应该这样做,即打开两个文件 - 从 1 读取并写入另一个?

如果您通过不同的流对象读取正在写入的同一文件,则实际结果是实现定义的。您最终可能会覆盖尚未读取的文件部分,从而损坏您的输入。

实现

此目的的最便携方法是将新内容写入具有不同文件名的新文件中,然后在整个过程完成并且两个文件都关闭后,将新文件重命名为原始文件名。