2016-11-03 9 views
0

私はcharsまたはintsのランダム入力を期待しています。次に来ることを理解でき、cin >> int、またはcin >> 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

関連する問題