c++中string类的操作

来源:百度知道 编辑:UC知道 时间:2024/06/01 07:51:21
#include<iostream>
#include <string>
using namespace std
void main(){
string str("abcdefg");
char* s;
s=str.c_str() ;
cout <<s;
}
报错为 cannot convert from 'const char *' to 'char *'
Conversion loses qualifiers
str.c_str()返回值是指针常量?

返回值是一个指针(不是指针常量),但是这个指针所指向的字符串是常量,不可以修改的,因此不能赋给s
可以强制转换类型后赋值,如下:
s=(char *)str.c_str();