ホームページ >バックエンド開発 >C++ >「std::cin と std::cin.getline(): C 入力にそれぞれをいつ使用するか?」

「std::cin と std::cin.getline(): C 入力にそれぞれをいつ使用するか?」

Susan Sarandon
Susan Sarandonオリジナル
2024-12-01 06:23:11348ブラウズ

`std::cin vs. std::cin.getline(): When to Use Each for C   Input?`

std::cin.getline() と std::cin の違い

C で入力と出力を操作する場合、 std::cin と std::cin.getline() の違いを理解することが重要です。関数。

std::cin: 単一の単語と数値の入力

std::cin は、単一の単語または数値を読み取るために使用できる入力ストリームです。標準入力デバイス (通常はキーボード) から。

std::cin.getline(): 全体の入力Lines

対照的に、std::cin.getline() は、入力ストリームから文字の行全体を読み取るために使用できるメソッドです。これには、行末 (「n」で表される) までのスペース、句読点、または改行文字が含まれます。

主な違い:

  1. 文字制限: std::cin は単一の単語または数字のみを読み取りますが、 std::cin.getline() は、行全体を含む複数の文字を読み取ることができます。
  2. 改行文字: std::cin は最初の改行文字で読み取りを停止しますが、std::cin は読み取りを停止します。 .getline() は文字列に改行を含めます。
  3. Buffer: std::cin が動作します。バッファ上にあるため、呼び出す前に入力された文字はすべて保存されます。ただし、 std::cin.getline() は、事前に格納された文字を無視して、入力ストリームから直接読み取ります。

使用例:

// Read a single word from the input
std::string word;
std::cin >> word;

// Read an entire line from the input
std::string line;
std::getline(std::cin, line);

結論:

シナリオに応じて、次のいずれかになります。 std::cin または std::cin.getline() が適切な場合があります。単一の単語または数値を読み取る必要がある場合は、std::cin の方が効率的です。ただし、スペースや改行を含む入力行全体をキャプチャする必要がある場合は、 std::cin.getline() を選択することをお勧めします。

以上が「std::cin と std::cin.getline(): C 入力にそれぞれをいつ使用するか?」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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