C风格字符串和string类型的相互转换

时间:2021-07-28 17:50:37

1. 对于C风格的字符串比如char*,char str[],转换为string。

char*和char str[]类型可以直接转换为string类型。即对于char* chstr,char arstr[],可以直接对string对象进行赋值。

比如string str = chstr或者是string str = arstr。

2. 对于string转换为char*

string提供一个方法可以直接返回字符串的首指针地址,即string.c_str()。比如string str = "Hi !"转换为char*类型。

const char* mystr = str.c_str(),在这里注意要加上const。

此外还有一个方法,但是有点浪费内存。

string str = "Hi !";

char* pstr = new char[str.lenth() + 1];

strcat(pstr, str.c_str())