將std::string 轉換為char* 或char[]
將std::string 轉換為char* 或char[]資料C 中的類型需要明確方法,因為它們不會自動轉換。
方法1:使用c_str()
取得std::string,使用c_str() 方法。此方法傳回一個 const char。對於非常量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
方法三:手動分配陣列(不建議)
手動分配陣列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中文網其他相關文章!