2016-11-03 28 views
0

我有一個任務,我期望隨機輸入charsints。有什麼辦法可以理解接下來會發生什麼,並說cin >> intcin >> char。我想用istream operator >>來做,因爲他們告訴我們不要用解析器來做。準確地說,我期望輸入一個前綴表達式。所以我不知道什麼時候讀操作員,什麼時候讀一個數字。如果您有任何建議,我會很感激他們:)C++ istream操作符>>期待任意輸入類型

+0

難道你怪人了一個例子,以幫助我們確切的文件格式?我不確定輸入是char還是int。 – Bathsheba

+0

按'char',你的意思是「不是一個數字」? (數字也是字符。) – molbdnilo

+1

將其作爲'std :: string'讀入並從此處解析。 – NathanOliver

回答

-1

你可以做,沒有一個解析器:

int n; 
cin >> n; 

if (cin.good()) 
{ 
    // manage integer 
} 
else 
{ 
    char c; 
    cin.clear(); 
    cin >> c; 

    // manage character 
} 
+0

還有更多的事情來清理流狀態等。 –

+0

Upvoted。可能是最好的方法,受制於人爲的不解析約束。 – Bathsheba

+0

@πάνταῥεῖ編輯,是它確定現在? (感謝的話;)) – Garf365

相關問題