>` 演算子? " />
getline が入力を要求しない
このコード スニペットでは、>> 演算子を使用した後に getline を使用すると問題が発生します。 ; が入力の読み取りに使用され、ユーザーの入力の後に改行文字が入力バッファーに残ります。この動作は、getline がすぐに呼び出される場合に問題になります。その後、入力行を読み取る必要があるため、改行文字が見つかり、ユーザーにプロンプトを表示せずに終了します。
解決策:
この問題を解決するには、次の方法があります。 2 つの実行可能な解決策:
無視を使用してNewline:
getline を使用する前に、ignore を呼び出して入力バッファから改行文字を消費します。
cin.ignore(); getline(cin, mystr);
getline を排他的に使用します:
>> と getline を混合する代わりに、getline を排他的に使用してすべての入力を読み取ります。コードを削除し、改行文字に関連する潜在的な問題を排除します。
getline(cin, name); getline(cin, i); getline(cin, mystr);
以上が「>>」演算子を使用した後に「getline」で入力を求めるプロンプトが表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。