ホームページ >バックエンド開発 >C++ >「>>」を使用した後に「getline」が入力を求めるプロンプトを表示しないのはなぜですか?どうすれば修正できますか?

「>>」を使用した後に「getline」が入力を求めるプロンプトを表示しないのはなぜですか?どうすれば修正できますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-27 10:07:08918ブラウズ

Why is `getline` not prompting for input after using `>>`、どうすれば修正できますか?
>` を修正するにはどうすればよいですか? " />

getline で入力の問題に対処する

このコードは、他の入力に演算子>> を使用した後、getline 関数を使用して入力を読み取ります。ただし、getlineはユーザーに入力を求めず、代わりに価格変数の初期値 0 を使用します。

この理由Operator>> の動作は空白文字で区切られています。つまり、operator>> を使用して整数を読み取る場合、入力の読み取りが停止されます。ユーザーは Enter キーを押して入力を送信し、改行文字を入力バッファーに残すことができます。

その後、getline がこの問題を解決するには、

1.ignore() またはダミーの getline Call

を使用する getline を呼び出す前に、ignore() 関数を使用して入力バッファから改行文字をクリアします。あるいは、getline() へのダミー呼び出しを行って改行を削除することもできます。

2. getline を排他的に使用します

operator>> を使用する代わりに、すべての入力に getline を使用し、整数の場合は stoi()、浮動小数点数の場合は stod() などの関数を使用して、取得した文字列を目的のデータ型に変換します。 。このアプローチにより、データの安全性と堅牢性が保証されます。

以上が「>>」を使用した後に「getline」が入力を求めるプロンプトを表示しないのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。