我用c ++编写了一个运行循环的程序。每当循环结束矩阵的值时,比如说A[i][j]
,就会使用数值方法进行更改。
我通常使用A
- if
或else
语句在特定循环计数器输出switch
的最新值,该语句输出所提及的特定文件中的值在if
- else
声明中。但是,如果我想在每个循环计数器上得到矩阵值,我该怎么做?
如果条件适合我,我不能写。
请帮助,或者更好,如果可能的话,提供一个伪代码,以便i
文件名的1
的循环计数器值(例如1.txt
}为1.dat
(i=2
) 2.dat
文件名为int main()
{
string str="";
int a[10];
for(int i=0;i<10;i++)
{
a[i]=i;
}
for(int t=1;t<16;t++)
{
str=t;
ofstream data("str.dat");
if(data.is_open())
{
cout << "File Opened successfully!!!. Writing data from array to file" << endl;
for(int i=0;i<10;i++)
{
data<<a[i]<<endl;
}
}
else //file didn't open
{
cout << "File could not be opened." << endl;
}
for(int m=0;m<10;m++)
{
a[m]=2*a[m];
}
}
return 0;
}
,依此类推。
我添加了一个关于我想要的示例代码。
{{1}}
在这段代码中,我得到的是一个名为str.dat的文件。我希望它是1.dat,2.dat,3.dat等,通过将t的值传递给string str,然后让文件运行t次。
我希望这有助于理解这个问题。
答案 0 :(得分:1)
这很简单:
for( int i = 0; i < someValue; ++i ) {
std::string filename = std::to_string( i ) + ".txt";
...
}
答案 1 :(得分:0)
我相信你正在寻找这个:
#include <sstream>
// ...
std::ostringstream filename;
filename << "File-" << i << ".dat";
std::ofstream file(filename.str().c_str());
这使用字符串流(输出到字符串)来构造固定文本的文件名和i
的值。然后,使用其成员函数.str()
从字符串流中提取构造的字符串,并将其作为参数传递给文件输出流的构造函数。这意味着它将打开相应的文件。
答案 2 :(得分:0)
感谢所有帮助.....终于得到了它(有了一些帮助).....我在这里粘贴它以防将来需要它.......
int main()
{
int a[10];
for(int i=0;i<10;i++)
{
a[i]=i;
}
for(int t=1;t<15;t++)
{
string name="";
name+=to_string(t);
ofstream data(name.c_str());
if(data.is_open())
{
cout << "File Opened successfully!!!. Writing data from array to file" << endl;
for(int i=0;i<10;i++)
{
data<<a[i]<<endl;
}
}
else //file didn't open
{
cout << "File could not be opened." << endl;
}
for(int m=0;m<10;m++)
{
a[m]=2*a[m];
}
}
return 0;
}