1. 程式人生 > >C++中使用cin之後再使用getline出問題的解決辦法!

C++中使用cin之後再使用getline出問題的解決辦法!

今天做OJ的時候,發現一個問題,就是我使用cin>>T;之後再使用getline(cin,line);發現程式執行完cin>>T之後就結束了,跳過了getline(cin,line)的執行,單步之後發現line是空值。

cin>>T回車之後,T獲取了值,但是'\n'被getline獲取了,因為getline是以'\n'來判斷一行的結束的,所以讀到'\n'馬上就結束了,也就沒有讀取到真正的那行字串。

解決辦法是在getline(cin,line)之前新增一句:cin.ignore();忽略之前的'\n',這樣getline就恢復正常了。