首页 > 解决方案 > 将整数写入流

问题描述

我创建了一个库,其中包含类似于以下代码的部分

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将整数转换为 c++ 中的字符串)转换为字符串来将整数传递给流。但我想知道是什么让这两个进程在同一场景中表现不同。感觉好像其中一个过程对全局状态的流进行了一些更改

标签: c++ostream

解决方案


尝试在不同的目录中运行两个不同的进程。从您所展示的内容来看,他们很可能都在尝试访问同一个文件。这不是你能做的。查看这篇文章,其中讨论了为什么尝试使用线程同时打开同一个文件两次不起作用。


推荐阅读