programing

문자열을 찾을 수 없는 이유는 무엇입니까?

muds 2023. 10. 28. 08:21
반응형

문자열을 찾을 수 없는 이유는 무엇입니까?

할 수 없는 이유cout string다음과 같이:

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

이렇게 하면 다음 오류가 발생합니다.

오류 2 오류 C2679: 이진 '<' : 'std::string' 유형의 오른쪽 피연산자를 사용하는 연산자를 찾을 수 없습니다. c:\users\mollasadra\documents\visual studio 2008\projects\barnamec\barnamec\barnamec.cpp 67barnamec**

이마저도 효과가 없다는 것은 놀라운 일입니다.

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

다음을 포함해야 합니다.

#include <string>
#include <iostream>

쿠트의 네임스페이스를 참조해야 합니다std어떻게든.예를 들어 삽입

using std::cout;
using std::endl;

함수 정의 위에 또는 파일을 저장합니다.

코드에 몇 가지 문제가 있습니다.

  1. WordList어디에도 정의되어 있지 않습니다.사용하기 전에 먼저 정의해야 합니다.
  2. 이런 기능 밖에서 코드를 쓸 수는 없습니다.그것을 기능에 넣어야 합니다.
  3. 할 필요가 있습니다.#include <string>사용하기 전에 스트링 클래스와 iostream을 사용할 수 있습니다.cout아니면endl.
  4. string,cout그리고.endl에 살다stdnamespace: 를 사용하여 접두사를 붙이지 않으면 액세스할 수 없습니다.std::당신이 사용하지 않는 한using그들을 먼저 범위에 넣으라는 지시.

위의 답변은 좋지만 문자열을 추가하지 않으려면 다음을 사용할 수 있습니다.

ostream& operator<<(ostream& os, string& msg)
{
os<<msg.c_str();

return os;
}

참조할 필요는 없습니다.std::cout아니면std::endl노골적으로
둘 다 포함되어 있습니다.namespace std.using namespace std스코프 해상도 연산자를 사용하는 대신::만드는 모든 것이 더 쉽고 깨끗합니다.

#include<iostream>
#include<string>
using namespace std;

c_str()을 사용하여 std:: 문자열을 성역 *로 변환합니다.

cout << "String is  : " << text.c_str() << endl ;

리눅스 시스템을 사용하는 경우 추가해야 합니다.

using namespace std;

머리글 아래

창이 있는 경우 헤더를 올바르게 넣었는지 확인합니다.#include<iostream.h>

#include<string.h>

이것을 참고하세요 그것은 완벽하게 작동합니다.

#include <iostream>
#include <string>

int main ()
{
std::string str="We think in generalities, but we live in details.";
                                       // (quoting Alfred N. Whitehead)

  std::string str2 = str.substr (3,5);     // "think"

   std::size_t pos = str.find("live");      // position of "live" in str

  std::string str3 = str.substr (pos);     
// get from "live" to the end

  std::cout << str2 << ' ' << str3 << '\n';

  return 0;
}

언급URL : https://stackoverflow.com/questions/6320995/why-i-cannot-cout-a-string

반응형