抱歉这个菜鸟问题,但我是 C++ 新手。
我需要从文件中逐行读取一些信息,并执行一些计算,然后输出到另一个文件中。例如,我们为每一行读取一个唯一 ID、一个名称和 2 个数字。最后 2 个数字相乘,在输出文件中,ID、名称和产品逐行打印:
输入.txt:
2431 John Doe 2000 5
9856 Jane Doe 1800 2
4029 Jack Siu 3000 10
输出.txt:
ID Name Total
2431 John Doe 10000
9856 Jane Doe 3600
4029 Jack Siu 30000
我的代码与此类似,但只有第一行出现在输出文件中。如果我Enter
反复按,其他行会出现在输出文件中:
#include <fstream>
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
int main () {
int ID, I, J;
string First, Last;
char c;
cout << "ID\tName\t\Total\n";
while ((c = getchar()) != EOF) {
cin >> ID >> First >> Last >> I >> J;
cout << ID << " " << First << " " << Last << " " I * J << "\n";
}
return 0;
}
这是我唯一的问题,这些值不会出现在输出文件中,除非我Enter
反复按,然后关闭程序。任何人都可以建议修复我上面的代码,让它在没有键盘输入的情况下完成任务吗?谢谢!