ホームページ >バックエンド開発 >C++ >C で文字列を読み取るための `std::cin` と `std::cin.getline()` の違いは何ですか?

C で文字列を読み取るための `std::cin` と `std::cin.getline()` の違いは何ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 00:09:11388ブラウズ

What's the Difference Between `std::cin` and `std::cin.getline()` for Reading Strings in C  ?

std::cin.getline() と std::cin との違いを理解する

std::iostream は幅広い機能を提供します。入出力操作のメカニズム。このうち、std::cin は標準入力オブジェクトとして機能し、文字データにアクセスするためのメソッドと関数を提供します。ただし、文字列や行の読み取りに関しては、 std::cin の有用性は特殊なメソッド std::cin.getline().

std::cin.getline() の方が優れています。 : 機能の詳細

std::cin.getline() は std::cin に固有のメソッドであり、同様のオブジェクトを使用して、文字データを効率的に読み取ることができます。このメソッドは、最大文字数と読み取りデータの保存先という 2 つの引数で動作します。

このメソッドは、次の 3 つの異なる条件下で読み取りプロセスを終了します。

  1. データの終わりに遭遇したa行
  2. 入力可能文字数がなくなりました
  3. 指定最大文字数に達しましたlimit

std::cin と std::cin.getline() の区別

std::cin は個々の文字を読み取る便利な方法を提供しますが、行ベースの入力を適切に処理する機能がありません。 std::cin.getline() は、文字行全体の読み取りに特化することでこのギャップを埋め、文字列または複数単語の入力が正確にキャプチャされるようにします。

std::cin を使用した代替入力オプション

std::cin.getline() に加えて、std::cin は他のさまざまな入力メソッドをサポートしています。含む:

  • std::cin >> s; - 単一の単語を文字列変数 's'
  • std::cin >> に読み取ります。私; - 整数変数 'i'
  • std::getline(std::cin, s); に単一の数値を読み取ります。 - 行全体を文字列変数 's' に読み取ります (文字数制限のない std::cin.getline() と同等)
  • std::cin.ignore(100); - 入力ストリーム内の次の 100 文字をスキップします

以上がC で文字列を読み取るための `std::cin` と `std::cin.getline()` の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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