>  기사  >  백엔드 개발  >  내 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;

솔루션 공개

이 신비한 오류 메시지를 여는 열쇠는 완벽한 코드를 작성하려는 열정에서 종종 간과되는 중요한 측면, 즉 필수 헤더를 포함하는 데 있습니다. 코드에는 문자열의 적절한 출력을 활성화하기 위해 두 개의 필수 헤더가 필요합니다.

<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.