[英]Multiple inputs on one line
我看了也無濟於事,只怕是這么簡單的問題,沒人敢問。
一個人可以在一行中從標准輸入中輸入多個東西嗎? 我的意思是:
float a, b;
char c;
// It is safe to assume a, b, c will be in float, float, char form?
cin >> a >> b >> c;
是的,您可以使用您描述的語法從cin
輸入多個項目。 結果與以下內容基本相同:
cin >> a;
cin >> b;
cin >> c;
這是由於一種稱為“運算符鏈接”的技術。
對operator>>(istream&, T)
的每次調用(其中T
是某種任意類型)都會返回對其第一個參數的引用。 所以cin >> a
返回cin
,它可以用作(cin>>a)>>b
等等。
請注意,對operator>>(istream&, T)
的每次調用首先消耗所有空白字符,然后是滿足輸入操作所需的盡可能多的字符,直到(但不包括)第一個下一個空白字符、無效字符或 EOF .
是的你可以。
來自cplusplus.com :
因為這些函數是運算符重載函數,所以調用它們的通常方式是:
strm >> variable;
其中
strm
是 istream 對象的標識符,variable
是作為右參數支持的任何類型的對象。 也可以將一系列提取操作稱為:strm >> variable1 >> variable2 >> variable3; //...
這與從同一對象
strm
執行連續提取相同。
只需將strm
替換為cin
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.