我创建了一个程序,它可以从文件中取一个整数作为输入,并生成从1到从文件读取的整数的乘法表。例如,如果程序从文件中读取(3),它将输出:
1*1 = 1
1*2 = 2
... up to
1*10 = 10
and then
2*1 = 1
.....
2*10 = 10
and so on up to three suppose that the number read from the file is 3
3*1 = 1
....
3*10 = 30
现在,我试图输出不同(.txt)文件中的每个乘法表,例如table1.txt将包含1*1 = 1 .... up to 1*10 = 10
,table2.txt将包含2*1 = 2 .... up to 2*10 = 10
和table3的相同过程.TXT。
我只能创建一个只包含第一个乘法表的文件,而且我不知道如何在不同的文件中显示其余的表。
我非常感谢您解决此问题的任何帮助或见解。谢谢!
这就是我所拥有的:
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
int num, a, b;
fstream inputStream;
ofstream outputStream;
inputStream.open("input.txt"); //let's say input.txt holds the number 3
while (inputStream >> num)
outputStream.open("table.txt");
for (a = 1; a <= num; a++)
{
for (b = 1; b <= 10; b++)
{
outputStream << a << " X "
<< b << " = "
<< a*b << endl;
}
inputStream.close();
outputStream.close();
}
return 0;
}
答案 0 :(得分:2)
#include <iostream>
#include <string>
#include <fstream>
int main(void) {
const int Count = 10; //Count of files
std::string name = "example_"; //base pattern of file name
std::ofstream outfstr[Count]; //creating array of 10 output file streams
for(int i = 0; i < Count; ++i) { //open all file streams
outfstr[i].open(name + char('0' + i) + ".txt");
}
for(int i = 0; i < Count; ++i) { // write value of i to i-th stream
outfstr[i] << "Some rezult " << i;
}
return 0;
}