将string转换成char* string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有3中方法:1.data 如:string str="abc";char *p=str.data();2.c_str 如:string str="gdfd"; char *p=str.c_str();3. copy 比如string str="hello";char p[40]; str.copy(p,5,0); //这里5,代表复制几个字符,0代表复制的位置*(p+5)='\0'; //要手动加上结束符cout < <p; 示例程序: #include<iostream> #include<string> using namespace std; int main() { string line; getline(cin,line); char str[20]; int size=line.size(); line.copy(str,line.size(),0); //char str[20]="liuyanbo"; char upper[20]; for(int i=0;i<size;++i) { //cout<<static_cast<char>(toupper(str[i])); upper[i]=static_cast<char>(toupper(str[i])); } upper[i]='\0'; cout<<upper<<endl; return 0; }