問題如圖上的注釋,為什麼一定要在循環體之前加一個getline函數才能讓vector中第一個元素讀入字符串,否則vector中第一元素就是空字符串?
#include
#include
#include
using namespace std;
int main()
{ int num;
cin>>num; //num is the number of telephone numbers to be read
string line;
vector<string> numlist;
getline(cin,line); //為什麼這裡一定要加一行getline, 不加的話numlist第一個元素總是空字串
for(int i=1;i<=num;i++)
{
getline(cin,line);
numlist.push_back(line);
}
return 0;
}
在這裡小白先謝謝各位大神前輩了
和你的輸入有關,你輸入的時候如果是輸入一個變量按一個回車的話,那麼需要getline吃掉回車。不然cin讀取下一個,讀取不到變量,讀取的是那個回車。