0
我在C++上很生鏽。我想知道,最好的辦法是採用以下格式讀取輸入的內容:(!cin.peek()= - 1)閱讀每行兩個數字的行
400 200
138 493
...
我目前使用的同時檢查EOF,然後內,我正在使用while(cin.peek()!='\ n')來檢查換行符。對於閱讀完整的文本行來說,這很好,但我怎樣才能將它限制爲2個數字和/或只抓住這2個數字?
我在C++上很生鏽。我想知道,最好的辦法是採用以下格式讀取輸入的內容:(!cin.peek()= - 1)閱讀每行兩個數字的行
400 200
138 493
...
我目前使用的同時檢查EOF,然後內,我正在使用while(cin.peek()!='\ n')來檢查換行符。對於閱讀完整的文本行來說,這很好,但我怎樣才能將它限制爲2個數字和/或只抓住這2個數字?
int num1,num2;
while(cin>>num1>>num2)
{
//...
}
或
string line;
int num1,num2;
stringstream ss;
while(getline(cin,line))
{
ss<<line;
ss>>num1>>num2;
//...
}
這個,謝謝。儘管如果我碰巧用3個數字來嘗試它,它會掛起等待第4個。但我認爲我正在使用的輸入無論如何都保證是2個數字。 – muttley91
http://stackoverflow.com/questions/5005317/c-read-line-of-numbers – DhruvPathak
'而(標準::函數getline(標準:: CIN,some_string )){parse(line); }'然後你可以通過例如創建一個'std :: stringstream()'並使用'operator >>'將數字提取到兩個'int'中來解析該行。 – 2013-10-07 06:12:23
即使其他答案奏效,我也會試試這個,謝謝! – muttley91