主要有三種方法能夠將str轉換爲char*類型,分別是:data(); c_str(); copy();c++
data()僅返回字符串內容,而不含有結束符'\0'ide
std::string s = "active"; //const char* p = s.data(); char* p = (char*)s.data();
c_str()函數返回一個指向C字符串的指針,該指針指向內存內容和string 相同。由於c語言不支持string類型,故爲了在c++兼容C字符串,提供了c_str()函數來實現轉換。注意必定要使用strcpy()函數來操做c_str();c_str()返回的是一個臨時指針,不能對其進行操做。函數
std::string s = "active"; const char* p = s.c_str();
std::string s = "active"; char p[10]; s.copy(p,2,2); *(p + 2) = '\0';
string轉char[]
std::string s = "native"; char p[8]; for (int i = 0; i < s.length(); i++) p[i] = s[i]; p[s.length()] = '\0';