cin.getline忽略第一个单词?

时间:2011-11-30 10:38:46

标签: c++ getline

我遇到cin.getline();的问题。 cin.getline忽略了第一个单词

cout << endl << "Insert the reason: " << endl <<"> ";
cin >> Reason;
cin.getline(Reason,200);

我认为无论如何你都是这样做的。我不确定问题是在这里,还是我把它输入文件:

myfile.open("BudgetLog.txt", ios::app);
myfile << endl << "Time: " << Date << " " << Time << "\t\tAmount taken: " << Amount << "\t\tReason: " << Reason << " \t\tAmount left: " << CurrentAmount <<endl;
myfile.close();

2 个答案:

答案 0 :(得分:3)

好吧,你首先用operator>>(第一个单词)阅读原因,然后用>>阅读其余部分(覆盖getline()的结果)。

答案 1 :(得分:0)

仅使用1条指令

cin >> Reason;

cin.getline(Reason,200);