1
我有一個控制檯應用程序,它等待用戶輸入一個字符串。它必須是getline,因爲它可以包含空格。但它不會等待輸入,它會跳過它並運行函數。這裏是我的代碼:不會等待getline C++
int main()
{
vector<person> people;
bool flag = true;
int num_people = 0;
//char*filename="names.txt";
people = read_file();
while(flag)
{
int sel = 0;
string args;
cout << "1 - Sök del av personnamn" << "\n"
<< "2 - Sök städer" << "\n" << "3 - Avsluta" << endl;
cin >> sel;
if(sel == 1)
{
cout << "Mata in delen av personnamnet" << endl;
getline(cin, args);
print_result(find_in_names(people, args));
}
else if(sel == 2)
{
cout << "Mata in staden" << endl;
getline(cin, args);
args = lower_letters(args);
print_result(find_person_from_city(people, args));
}
else if(sel==3)
{
flag=false;
}
else
{
cout << "FEL, TRYCK OM!" << endl;
}
}
}
運行沒有錯誤,它只是跳過getline,不讓用戶輸入任何東西。
看起來與需要幫助相同。 cin正在離開返回鍵按下,正在通過getline()讀取它。 – 2013-02-24 20:31:23