2016-10-12 3 views
2

私の質問/問題へ:
今の私のプログラムを入力してthatsのは、私は1つのポイントと私でgetline()を使用する必要がある以外は正常に動作し得るためにcin >>を使用しています私はgetline()cin.get()のようなものをcin >>と混ぜるべきではないことを知っています。 >>を使用せずに整数を入力するにはどうすればよいですか?どのように使用することなく、C言語での入力整数++「>>」

研究:
私はこれを研究しようとしましたが、私は見つけるすべての結果は、私がgetline()を使用して回避する方法を見つけることが同じように幸せになるcin >>This is the closest I've found.

を使用することを言います。

+0

あなたは 'scanf'を使用できますか? – PRP

+0

そうだと思うけど、聞いたことがない。私にGoogleをさせてください... – StarSweeper

+1

あなたは[改行問題を補う](http://stackoverflow.com/a/10553849/597607)場合、 'cin >>'と 'getline()'を混在させることはかなり可能です。 –

答えて

5

つの方法があります。

  • 一つの方法は、std::stringにラインを読んで、あなたが入力演算子>>を使用することができますstd::istringstreamにその文字列を入れてstd::getlineを使用することです。

  • 入力が数字だけの場合は、std::getlineを使用して回線を取得し、次にを使用して番号に変換します。

+0

最初のオプションは私が探しているもののように見えますが、どうやって行うのか混乱しています。特に名前空間stdを使用する場合。これは私が試したことです: 'getline(cin、firstMiddleName); \t \t istringstream iss(firstMiddleName); \t \t iss >> firstMiddleName; ' – StarSweeper

+0

@StarSweeperそれはうまく見えますが、あなたはそれにどのような問題がありますか? –

+0

issは不完全なエラータイプを許可しません。私は前にistringstreamを使用したことがない、私はラインや何かが不足していると確信しています。 – StarSweeper

関連する問題