ホームページ >バックエンド開発 >C++ >C 入力ストリームでスペース文字をキャプチャするにはどうすればよいですか?

C 入力ストリームでスペース文字をキャプチャするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-29 02:19:09957ブラウズ

How to Capture Space Characters in C   Input Streams?

C でのスペース文字のキャプチャ

C では、cin ストリームはデフォルトで空白文字 (スペース、タブ、改行など) をスキップします。 。 cin を使用して標準入力からスペース文字を直接読み取ろうとすると、プログラムはそれを無視します。

解決策 1: noskipws を使用する

この動作を変更するには、次のようにします。 noskipws マニピュレータを使用すると、空白のスキップを無効にすることができます。

cin >> noskipws >> a[i];

これを使用すると、マニピュレータを使用すると、cin は他の文字とともにスペース文字を読み取ります。

解決策 2: get を使用する

代わりに、get 関数を使用して入力から文字を読み取ることもできます。ストリーム。この関数を使用すると、文字を読み込むバッファを指定できます。

cin.get(a, n);

この場合、get は最大 n-1 文字を配列 a に読み込み、null 文字 ( ) を配列 a に追加します。配列の終わり。 n-1 文字に達する前に改行文字 (n) に遭遇すると、読み取りが停止します。

noskipws または get を使用すると、標準入力からスペース文字を効果的にキャプチャできます。 2 つの方法のどちらを選択するかは、プログラムの特定の要件によって異なります。

以上がC 入力ストリームでスペース文字をキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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