C++使用不同的流读取和写入同一个文件
C++ read and write to same file using different streams
我有两个流指向同一个文件。第一个是std::ofstream os
,第二个是std::ifstream is
,都以二进制模式打开。
我正在使用os
创建一个新文件。文件创建过程要求我(有时)读取os
写入文件的数据。is
流寻找所需的位置,读取一些数据,然后os
在其(不同的)偏移处执行它的操作,然后刷新。
这样做合法吗?溪流会互相践踏吗?
不能引用任何标准,但/因为这是特定于平台的
(可能是独占访问,不同级别的缓冲…)
您可以将单个fstream
与ios::in|ios::out
一起使用
在每一次行动之前寻求。
相关文章:
- 当 PHP、C++ 和 shell 脚本尝试访问同一个文件时,如何避免错误?
- 为什么 boost 文件系统和 libpq-fe 标头不会在同一个文件中编译
- 如何在同一个文件中写入C++
- fopen 和 fwrite 从多个线程到同一个文件
- C "undefined reference",但我在同一个文件中指定了它
- 我可以允许多个程序同时从同一个文件中读取吗
- 如何检查文件指针/描述符/句柄是否关联到同一个文件/管道/终端
- 如何同时将 ASCII 和 BINARY 数据写入同一个文件
- C++内联函数的定义必须在同一个文件中
- C++使用不同的流读取和写入同一个文件
- 两个进程打开同一个文件进行写入
- C++未定义的引用,尽管函数是在同一个文件中定义的
- 读/写同一个文件(获取gmon.out)
- 如何使用Boost.Filesystem检查两个路径是否指向同一个文件/目录
- 多次映射同一个文件
- 读取和写入同一个文件fstream
- 未定义的引用错误,即使应该包含的文件在同一个文件夹中
- 使用不同的访问模式C++将多个指针指向同一个文件
- (Windows)同时打开同一个文件
- 使用ifstream在两个线程中处理同一个文件