我有一个创建输出的程序:
std::ofstream OutA("A.dat");
此程序中有一个循环,其中创建数据以放入A:
for ( k = 1; k < n_iterations ; k++ ){
OutA << Data_for_A << std::endl;
}
然而,现在我想做另一个循环。
我将在A中放置的值的演变取决于变量T. 所以,我会为不同的T制作几个表。会有一个这样的循环:
for ( T = 0; T < x; T = T + 0.5){
for ( k = 1; k < n_iterations ; k++ ){
OutA << Data_for_A << std::endl;
}
}
但是,如果循环改变了T的值,根据变量T,它会写入具有不同名称的不同文件,这将是方便的。
示例:
第一次运行循环时,将数据传递给“OutA1.dat”,第二次传递给“OutA2.dat”,然后使用索引1,2,...
或者索引不是1,2,...而是T的值。因此:“OutA_T0.dat”,在下一个“OutA_T0.5.dat”中,索引变化T = 0,0.5,1.1.5,......
最好的方法是什么?
答案 0 :(得分:0)
使用std :: to_string函数。
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
string Data_for_A() {
return "hello";
}
int main() {
double x = 3;
int n_iterations = 5;
for (double T = 0; T < x; T = T + 0.5) {
string name = "OutA_T" + std::to_string(T) + ".dat";
std::ofstream OutA(name.c_str());
for (int k = 1; k < n_iterations ; k++ ) {
OutA << Data_for_A() << std::endl;
}
}
return 0;
}