文字列出力エラーの謎を探る
コード開発の中心では、次のような障害に遭遇することは珍しくありません。文字列を出力します。一見単純そうに見えますが、この問題はしばしばプログラマを困惑させ、何時間ものデバッグに費やすことになりました。
欠落文字列の謎
次のコード スニペットを考えてみましょう:
<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 サイトの他の関連記事を参照してください。