有时候有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数组。
本文介绍了将C++中的string对象转换为C风格字符串(char*)的三种常见方法:使用c_str()、data()方法及copy()方法。这些方法适用于不同的场景需求。

505

被折叠的 条评论
为什么被折叠?



