有时候有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[10];
name.copy(str,5,0);//5代表复制字符个数,0代表复制的初始位置
str[6]='\0';//一定要自行加上字符串结束符
printf("%s\n",str);
输出James,说明string类型变量已经成功转换成char数组。