2014-11-06 63 views
0

我想弄清楚如何用std::cin來讀整行(包括空格)。我知道std::getline的存在,我只想弄清楚如何與std::cin這樣做,所以我可以更好地理解C++中的iostream。我試過用std::cin的for循環,但是它一直保持着閱讀的結束。任何幫助將不勝感激。用std :: cin整行讀取

+2

當你調用'std :: getline'時,你確實使用'std :: cin' ......也許你的意思是用'operator >>'?在這種情況下,它默認跳過前導空格。 – chris 2014-11-06 03:55:02

+0

@chris是的,對不起,我的意思是與操作員,例如'std :: cin >>我;' – asdf 2014-11-06 03:56:33

+2

使用螺絲刀敲釘子並不是真正有效地更好地理解螺絲刀的方法。 – 2014-11-06 04:00:24

回答

0

另外,cin < <只允許我們在一個字符串中輸入一個單詞。 但是,有一個cin函數可以讀取包含空白的文本。

std::cin.get(name, MAX); 

get會閱讀所有的字符,包括空格,直到最大字符已經閱讀或到達行字符(「\ n」)結束,並把它們放進名變量。 你應該決定什麼是MAX。

+0

你會希望'std :: cin.getline()'...'get()'將離開以字符串結尾的行。 – 2014-11-06 04:04:08