我正在尝试编写一个 mpi 程序,其中每个节点都知道自己的 rank
,这是一个整数。
在这个程序中,我希望每个节点创建一个.txt
文件,文件名是它的rank
。也就是说,我希望程序生成一个名为 rank.txt
的文件,其中 rank 是一个整数。
我知道如何将 int
转换为 string
,但我很困惑如何将该字符串与 .txt
结合起来将其放入文件名中。最简单的方法是什么?
提前致谢。
编辑
我已将数字与 .txt
合并,并将它们放入字符串 filename
但是当我键入 std::ofstream out_stream(filename)
编译器告诉我
no matching constructor for initialization `std::outstream`
如何将字符串放入文件名中?
最佳答案
问题是 std::ofstream
没有接受 std::string
的构造函数。您需要传递 const char*
,所以只需说:
std::ofstream out_stream(filename.c_str());
不过,随着最新的标准修订,情况发生了变化,因此请查看您的编译器文档以了解如何启用 C++11。
关于c++ - 使用整数作为外流文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13178245/