我試圖用這個方法來讀取每個球員的名字:如何正確讀取從標準輸入一個值的變量
string Jogador::askname(){
string aux;
cout<<getname()<<" Insira o seu nome: ";
cin.get();
//getline(cin,aux);
//gets(aux);
cin.getline(aux,sizeof aux,'\n');
//setname(aux);
cout<<endl;
return aux;
}
它工作正常的第一個電話,但是當我再次調用它,它剪切字符串的第一個字母。我試過使用cin.get()
/cin.ignore()
,似乎沒有任何工作。有什麼建議麼?
'cin.get()'返回的數據流的第一個字符,你是怎麼想的是什麼。 –
我的老師說這是用來獲取緩衝區中包含的'\ n'。 – Ferro