ホームページ >バックエンド開発 >C++ >なぜ `cin >> str` は C の最初の単語だけを抽出するのでしょうか?

なぜ `cin >> str` は C の最初の単語だけを抽出するのでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-27 16:47:30945ブラウズ

Why does `cin >> str` は C の最初の単語のみを抽出しますか? 
> str` C の最初の単語のみを抽出しますか? " />

cin は C の最初の単語のみを抽出します

提供されたコードでは、cin は cin >> str; は最初の単語のみをキャプチャするため、複数の単語を含む入力を処理するときに問題が発生します。これは、 >>.

解決策:

単一の単語の代わりに完全な行を文字配列に抽出するには、cin ステートメントを次のように変更します。

あるいは、より新しい言語を使用する場合は、 C 環境で文字列を操作する場合は、char 配列を std::string に置き換え、getline() を利用して次のように入力を読み取ることができます。
<code class="c++">cin.getline(str, sizeof str);</code>

<code class="c++">getline(cin, str);</code>
追加の考慮事項:

Turbo C 4.5 はかなり古く、最新の C 機能をサポートしていないため、コンパイラを更新することを強くお勧めします。互換性を高めるために、Visual Studio Express またはその他の最新のコンパイラが推奨されています。

以上がなぜ `cin >> str` は C の最初の単語だけを抽出するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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