2016-02-26 27 views
-2

http://pastebin.com/mPp4z3LZ我們如何在程序中同時使用cin和getline函數?

以上是我的代碼的鏈接,我應該使用class來創建在線租賃商店。在這個過程中,我應該讀取電影和演員的名字。這就是爲什麼我決定使用本應該幫助我閱讀多個單詞的getline函數。但是我的程序只會跳過getline部分,不會讓我輸入電影或演員的名字。

在閱讀了一篇與之前在堆棧溢出中發佈的帖子後發現,getline函數在將它與cin混合時不起作用>>。事實上,當我只使用getline函數將數據輸入到我的變量中,程序可以正常運行。因此,我想知道在程序中是否有任何方法同時使用cin和getline函數。

回答

-1

格式化輸入(cin.operator>>)後,換行符可以留在流中。當調用getline時,它讀取換行符並在那裏停止。只要您在operator>>getline之間跳轉,您就可以使用ignore

std::cin >> some_var; 
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 
std::getline(std::cin, some_string); 

調用到ignore將放棄一切直到幷包括下一個換行符。

相關問題