在Stroustrup的“用C ++编程”第102页中,他使用cin
读取double
后跟char
,将厘米转换为英寸。
他使用的代码:
cin >> length >> unit;
例如,如果用户输入2.54c。
cin
如何知道将2.54加入length
而将c加入unit
?我认为如果多次阅读,必须按空格键或输入键?
我知道cin::getline
更安全但我想了解为什么cin
知道如何从double
切换到char
。
感谢。
答案 0 :(得分:5)
转换尽可能远,然后停止。
您可以手动尝试使用strtod
并跟踪“结束”指针以确定您消耗了多少字符串。接下来的提取将继续进行。