gpt4 book ai didi

c++ - 如何在各种(.txt)文件中输出不同的内容(C++)

转载 作者:行者123 更新时间:2023-11-28 06:25:04 26 4
gpt4 key购买 nike

我创建了一个程序,它可以从文件中获取整数作为输入,并生成从 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;
}

最佳答案

您应该为每个循环迭代创建新文件:

#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
inputStream >> num;
inputStream.close();
for (a = 1; a <= num; a++)
{
outputStream.open("table" + std::to_string(a) + ".txt");

for (b = 1; b <= 10; b++)
{
outputStream << a << " X "
<< b << " = "
<< a*b << endl;
}
outputStream.close();
}

return 0;
}

请注意,由于 std::to_string 方法,您应该使用 -std=c++11 标志构建您的代码。此代码为您生成 num 个文件(表格num.txt),每个文件都有特定数字的乘法表。

关于c++ - 如何在各种(.txt)文件中输出不同的内容(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28664014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com