【问题标题】:Writing Integers to stream将整数写入流
【发布时间】: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++) 转换为字符串来将整数传递给流。但我想知道是什么让这两个进程在同一场景中表现不同。感觉好像其中一个进程在全局状态下对流进行了一些更改

【问题讨论】:

标签: c++ ostream


【解决方案1】:

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

【讨论】:

  • 感谢您的回复。但是这些过程一个接一个地运行。所以同时写同一个文件是毫无疑问的
  • 您是否使用了关闭功能来确保第一个进程不会使文件保持打开状态?
猜你喜欢
  • 2010-11-22
  • 1970-01-01
  • 2013-10-03
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
相关资源
最近更新 更多