ホームページ  >  記事  >  バックエンド開発  >  C コードが文字列を出力できないのはなぜですか?

C コードが文字列を出力できないのはなぜですか?

DDD
DDDオリジナル
2024-10-31 07:51:02977ブラウズ

Why Can't My C   Code Output Strings?

文字列出力エラーの謎を探る

コード開発の中心では、次のような障害に遭遇することは珍しくありません。文字列を出力します。一見単純そうに見えますが、この問題はしばしばプログラマを困惑させ、何時間ものデバッグに費やすことになりました。

欠落文字列の謎

次のコード スニペットを考えてみましょう:

<code class="cpp">string text;
text = WordList[i].substr(0, 20);
cout << "String is : " << text << endl;

このコードを実行しようとすると、次のような複雑なエラーが発生する可能性があります:

Error 2 error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

このパズルはさらに複雑になり、この単純化されたコードでも目的の出力を生成できません:

<code class="cpp">string text;
text = "hello";
cout << "String is : " << text << endl;

解決策の公開

これらの謎のエラー メッセージを解決する鍵は、完璧なコードを作成しようとする熱意の中で見落とされがちな重要な側面、つまり必要なヘッダーにあります。コードには、文字列の適切な出力を可能にする 2 つの必須ヘッダーが必要です:

<code class="cpp">#include <string>
#include <iostream></code>

これらのヘッダーを含めることで、コンパイラーが文字列操作の処理方法を認識できるようになります。これらがないと、コンパイラは文字列間の連結演算子 (<<) を正しく解釈できず、報告されるエラーにつながります。

ヘッダーを受け入れ、成功への道を歩みましょう

これらのヘッダーを配置すると、文字列がコードからシームレスに流れるようになり、自信を持って文字列操作の世界を征服できるようになります。次のコードは問題なく実行されるようになります:

#include 
#include 

string text;
text = WordList[i].substr(0, 20);
cout << "String is : " << text << endl;

string text2 = "hello";
cout << "String is : " << text2 << endl;

以上がC コードが文字列を出力できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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