我的代码只保存最后一行,例如,如果我输入1 abc然后按Enter键然后键入2 def然后只有2 def保存在txt文件中。 这是我的代码: -
int main()
{
ofstream rankings;
rankings.open("rankings.txt");
cout << "Enter rank of the Student <space> followed by Name\n"
"Press Ctrl+Z to quit"<< endl;
int rank;
string name;
while (cin >> rank >> name);
{
rankings << rank << ' ' << name << endl;
}
rankings.close();
return 0;
}
答案 0 :(得分:4)
在while
循环后,您有一个多余的分号:
while (cin >> rank >> name);
// ^
这只会在代码中打开一个新块,并为您输入最少的值。
修改你的循环到
while (cin >> rank >> name) {
rankings << rank << ' ' << name << endl;
}