两个循环内的多个文本文件
Multiple text files inside two loop
我想在两个循环中创建一些文件并填写它们,而无需关闭第一个和第二个循环中的文件。
在这里,您可以通过查看代码的这一部分来找到我对这个问题的意思,但它不起作用......当然,它会创建 100 个文件,但问题是每个文件只保存第一个循环的最后一次迭代,而我希望每个文件写入第一个循环的整个迭代。
ofstream fout;
for(int t = 0; t < N; t++){
for(int e = 0; e < 100; e++){
fout.open("myfile_"+strcpp(e)+".txt");
fout << t << psi[e] << endl;
}
}
fout.close();
其中函数strcpp(e)
由下式给出
template <class T>
string strcpp(T value){
ostringstream out;
out << value;
return out.str();
}
每次调用时:
fout.open(...);
打开文件之前的全部内容将被删除。由于您多次打开每个文件,因此在编写下一行之前,您会不断擦除已写入的任何内容。这就是为什么外部 for 循环的最后一次写入是每个文件中唯一的内容。我们可以通过指定要附加到我们正在打开的文件中来解决此问题。std::ofstream::open(( 采用第二个指定模式的可选参数。您可以将模式设置为将您在文件中写入的任何内容附加到文件中已有内容的末尾,而不是擦除原始文件内容。前任:
fout.open(my_file_name, ios::app);
尽管更好的解决方案可能是切换您的内部和外部 for 循环。然后,在内部 for 循环开始之前打开每个文件,对该文件执行所有写入操作,然后关闭该文件并继续下一个文件。这样,您就不必多次打开每个文件。
相关文章:
- 文本文件中的单词链表
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何在c++中从文本文件中逐行读取整数
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 如何在C++中确定文本文件中的元素是字符还是数字
- C++试图读取一个文件并输出到另一个文本文件
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 已修改的LinkedList未在文本文件本身中更新
- C++文本文件的获取线
- 为什么C++的文件 I/O 在读取文本文件时忽略初始空行?我怎样才能让它不这样做?
- 打印逐行存储的文本文件
- C++文本文件输入