1. string to char*
方式1 通過const_cast<char*>()
std::string str = "string"; char* chr = const_cast<char*>(str.c_str())
方式2
string str = "some string" ; char *cstr = &str[0];
方式3
std::string str = "string"; const char *cstr = str.c_str();
使用str.c_str()返回的是const cahr* 類型,如果想轉換為char* 類型需經過const_cast<char*>()
2. char* to string
方式1:直接賦值
char c[] = "this is a char array"; const char* t = "const char"; string s = t; string ss = c;
方式2:
同理const char*轉string:
const char* cc = "this is a const exp"; string s(cc, cc + strlen(cc));
3. char* 和const char*
const char* src = "this is a const exp"; char* ch = const_cast<char*>(src); const char* dst = static_cast<const char*>(ch); cout << ch << endl; cout << dst << endl;
4.string轉為char[]
//char[]可以直接賦值給stiring //string不能直接轉換為char[],可以先轉換為char*,再通過strcpy來轉換 char buf[BUFSIZE]; char* p=const_cast<char*>(str.c_str()); strcpy(buf,p);