发布日期:2018-03-26
如何把std::string转换为char*(c风格字符串)+ 查看更多
如何把std::string转换为char*(c风格字符串)
+ 查看更多
发布日期:2018-02-26 14:24
分类:CPlusPlus
浏览次数:153
回答:
它不会自动转换(谢天谢地),你可以使用 c_str()方法:
std::string str = "string"; const char *cstr = str.c_str();
他返回一个常量字符串,如果你需要更改的话你不得不一个一个字符转换:
std::string str = "string"; char *cstr = new char[str.length() + 1]; strcpy(cstr, str.c_str()); // do stuff delete [] cstr;
或者用现代c++的方式:
std::vectorcstr(str.c_str(), str.c_str() + str.size() + 1);