天天看点

C++中string类型转换成char*

  有时候有string对象,但需要c-风格字符串,该如何办呢?可以把string类型转换成char*类型,这里一般有以下三种方法:

  1.c_str()方法

string name="James";
char *str=(char*)name.c_str();
printf("%s\n",str);
           

  输出James,说明string类型变量已经成功转换成char*。

  2.data()方法

string name="James";
char *str=(char*)name.data();
printf("%s\n",str);
           

  输出James,说明string类型变量已经成功转换成char*。

  3.copy()方法

string name="James";
char str[];
name.copy(str,,);//5代表复制字符个数,0代表复制的初始位置
str[]='\0';//一定要自行加上字符串结束符
printf("%s\n",str);
           

  输出James,说明string类型变量已经成功转换成char数组。