こんにちは 今朝「こんにちは質問があります。

C言語関連 | プログラミング23閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

1

1人がナイス!しています

返信遅くなり申し訳ございません。 少しパソコンから離れていました。 試しましたが、やはり解決できませんでした。 std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 単体だと一つ目の入力が反応せず、この前後にcin.ignore、cin >> noskipws >> enterを配置しても二回目の入力に二回エンターを入力させられます。 何が問題でしょうか。 よろしくお願い致します。

ThanksImg質問者からのお礼コメント

すいません、getlineを使うことで解決いたしました! 回答ありがとうございました!

お礼日時:3/7 7:04

その他の回答(1件)

1

while (cin && cin.get() != '\n');//改行まで読み捨てる

1人がナイス!しています

返信遅くなり申し訳ございません。 少しパソコンから離れていました。 試しましたが、やはり解決できませんでした。 1、while (cin && cin.get() != '\n') 単体→一つ目の入力が反応しない 2、cin.ignore の後にwhile (cin && cin.get() != '\n') → 二つ目に二回エンターを入力させられる 3、cin >> noskipws >> enter の前後にwhile (cin && cin.get() != '\n')に配置→二つ目に二回エンターを入力させられる どう配置すればよいでしょうか? おそらく一回目の入力の時にバッファに何か残っていると思ったのでcin.ignoreを前に配置しました。 よろしくお願いします。