2013-07-04 79 views
1

在Stroustrup的書Programming with C++第102頁,他使用cin讀取double後接char,將釐米轉換爲英寸。C++中的CIN Stroustrup

的代碼,他使用:

cin >> length >> unit; 

e.g如果用戶進入2.54c。

cin怎麼知道把2.54放到length和c到unit?如果多次閱讀,我認爲必須按空白鍵或回車鍵?

我知道cin::getline更安全,但我想了解爲什麼cin知道如何從double切換到char

謝謝。

回答

5

轉換儘可能地然後停止。

您可以使用strtod手動嘗試此操作,並跟蹤「結束」指針以確定您消耗了多少字符串。接下來的提取將繼續進行。