C++中把string转成char c_str函数的返回值是const char*的,不能直接赋值给char*,
c++语⾔提供了两种字符串实现,其中较原始的⼀种只是字符串的c语⾔实现。
与C语⾔的其他部分⼀样,它在c+的所有实现中可⽤,
我们将这种实现提供的字符串对象,归为c-串,每个c-串char*类型的。
标准头⽂件<cstring>包含操作c-串的函数库。
这些库函数表达了我们希望使⽤的⼏乎每种字符串操作。
当调⽤库函数,客户程序提供的是string类型参数,
⽽库函数内部实现⽤的是c-串,因此需要将string对象,
转化为char*对象,⽽c_str()提供了这样⼀种⽅法,
它返回⼀个客户程序可读不可改的指向字符数组的指针。
#include<iostream>
#include <string>
using namespace std;
int main()
{
string a="huang";
string b="lizhe";
const char*s1=a.c_str();
const char*s2=b.c_str();
char*copy1=new char[strlen(s1)+strlen(s2)+1];
strcpy(copy1,s1);
strcat(copy1,s2);
a=copy1;
字符串转数组char
delete [] copy1;
std::cout<<a<<std::endl;
system("pause");
return0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。