为了避免持续打开和关闭我正在写入的多个文件,我尝试使用ofstream对象的向量。到目前为止,我的代码如下所示:std::vector<shared_ptr<ofstream>> filelist;void main(){ for(int ii=0;ii<10;ii++) { string filename = "/dev/shm/table_"+int2string(ii)+".csv"; filelist.push_back(make_shared<ofstream>(filename.c_str())); }}我使用ofstream指针向量,因为ofstream没有副本构造函数。此外,我正在使用共享指针,因为它应该可以更可靠地防止内存泄漏。上面成功在目标目录中创建了我想要的文件。如果要关闭文件,可以执行类似filelist [5]-> close();的操作。我不确定的唯一部分是如何实际写入每个文件。通常,对于单个文件,我会执行以下操作:ofstream fout;fout.open("myfile.txt");fout<<"some text"<<endl;在这种情况下我想使用的 最佳答案 尝试这个:for (auto& stream : filelist){ *stream << "some text" << std::endl;}关于c++ - ofstream的C++ vector ,如何写入一个特定元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15737023/
10-13 23:15