std::string을 char* 또는 char[]로 변환
std::string을 char* 또는 char[] 데이터 유형 C에서는 자동으로 변환되지 않으므로 명시적 메서드가 필요합니다.
방법 1: c_str() 사용
의 C 문자열 버전을 얻으려면 std::string, c_str() 메서드를 사용하세요. 이 메서드는 const char을 반환합니다. 상수가 아닌 문자의 경우 .data()를 사용하세요.
std::string str = "string"; const char *cstr = str.c_str(); // const char* char *cstr = str.data(); // non-const char*
방법 2: 벡터로 복사
std::string 문자를 std::Vector
std::vector<char> cstr(str.c_str(), str.c_str() + str.size() + 1); char *ptr = cstr.data(); // pointer to c-string
방법 3: 수동 배열 할당(권장하지 않음)
수동으로 배열 할당 C-스트링:const char *cstr = new char[str.size() + 1]; std::strcpy(cstr, str.c_str()); // ... use the array ... delete [] cstr;기억하는 것이 중요합니다. 수동 메모리 관리로 인해 오류가 발생할 수 있습니다. 가장 좋은 방법은
.c_str() 또는 .data()를 사용하는 것입니다.
위 내용은 C std::string을 char* 또는 char[]로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!