【发布时间】:2019-01-03 09:33:35
【问题描述】:
我创建了一个库,其中包含类似于以下代码的部分
int a;
a = 5;
std::ofstream outFile("File.txt");
outFile << "Values : " << std::endl;
outFile << a << std::endl;
现在,这个库被两个不同的进程使用,它们输出 File.txt 和两个不同的输出
输出 1:
Values :
输出 2:
Values :
5
我找到了一些资源,其中提到通过使用 std::to_string (Converting integer to string in c++) 转换为字符串来将整数传递给流。但我想知道是什么让这两个进程在同一场景中表现不同。感觉好像其中一个进程在全局状态下对流进行了一些更改
【问题讨论】:
-
如果没有minimal reproducible example,就不可能帮助您(除了疯狂猜测)。请花一些时间查看how to ask good questions 和this question checklist。
-
在 Linux 上,如果两个进程试图写入同一个文件,结果是未定义的。如果您将 PID 附加到文件名,您将获得正确的输出。