ホームページ >バックエンド開発 >C++ >「getline()」を繰り返し使用すると入力遅延が発生するのはなぜですか?

「getline()」を繰り返し使用すると入力遅延が発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-11 17:57:03271ブラウズ

Why Does `getline()` Cause Input Delay When Used Repeatedly?

getline() を繰り返し呼び出すと入力遅延が停止する

ユーザー入力を扱う場合、getline() を複数回使用すると不一致が発生する可能性があります。この問題により、ユーザーは有効な入力を行えなくなり、混乱が生じます。

提供されたコードでは、getline() が演算子 >> と一緒に使用されています。その間>>先頭の空白は無視され、末尾の「n」文字は吸収されません。そのため、>> の後に getline() を使用すると、予期せぬ動作が発生します。

この問題を解決するには、単一の入力メソッドを選択し、プログラム全体でそれを遵守することが重要です。数字が含まれる場合は、演算子 >> のみを使用してください。ただし、文字列またはデータ型の混合を扱う場合は、getline() にこだわり、入力文字列から必要な数値を抽出してください。

ここでは getline() のみを使用してコードを調整しています:

std::string line;

以上が「getline()」を繰り返し使用すると入力遅延が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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