"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > c ++ std :: 문자열을 char* 또는 char []로 어떻게 변환합니까?

c ++ std :: 문자열을 char* 또는 char []로 어떻게 변환합니까?

2025-03-23에 게시되었습니다
검색:513

How Do I Convert a C   std::string to a char* or char[]?

std :: string을 char* 또는 char* 또는 char []

std :: string

* 또는

[] []

를 변환하는 것을 변환합니다. convert.

method 1 : c_str () std :: string 의 c-string 버전을 얻으려면

c_str ()
std::string str = "string";
const char *cstr = str.c_str(); // const char*
char *cstr = str.data(); // non-const char*
const char

를 반환합니다. 비 콘스트 char 의 경우

. data ()

: std :: String str = "String"; const char *cstr = str.c_str (); // const char* char *cstr = str.data (); // 비 코스트 char*

std::vector cstr(str.c_str(), str.c_str()   str.size()   1);
char *ptr = cstr.data(); // pointer to c-string

std :: string

문자를
const char *cstr = new char[str.size()   1];
std::strcpy(cstr, str.c_str());
// ... use the array ...
delete [] cstr;

How Do I Convert a C   std::string to a char* or char[]?
str.c_str () str.size () 1); char *ptr = cstr.data (); // c-string에 대한 포인터

메소드 3 : 수동 배열 할당 (권장되지 않음)

const char *cstr = new char [str.size () 1]; std :: strcpy (cstr, str.c_str ()); // ... 배열 사용 ... 삭제 [] cstr;

수동 메모리 관리가 오류로 이어질 수 있다는 것을 기억하는 것이 중요합니다. 모범 사례로서 . c_str () 또는

. data ()

. 를 사용하는 것이 좋습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3