C语言存放字符串的方式——字符串数组
在C语言中通过定义C语言字符串数组保存字符串;
如
char a[10]="abcd";//这里的char a[10]可以换成char a[]或者char* a
//a[0]='a';
//a[1]='b';
//a[2]='c';
//a[3]='d';
//a[4]='\0'; //'\0'算长度且占内存
字符串数组有很多字符串的处理函数;
如:strcpy(),strcat(),strmp(),strlen(),等等是用于字符串处理的函数。他们的头文件是<string.h>或者是后者是升级版,兼容前者更强。
C++存放字符串的方式——字符串数组
在C++语言中通过定义C++语言字符串对象保存字符串;
如
string a="abcd";
//n=sizeof(a);
//n==4; //这里就没有像C语言字符串一样的‘\0’结束符。
字符串对象也有很多字符的处理函数;
如:a.size(),a.length(),a.empty().等等用于字符串处理的函数,同时C++字符串可以进行相加,还有关系运算。他们的头文件是.
字符串数组和字符串对象的相互转换
char * .const char和string的相互转换
1.const char转换到string:
直接赋值
const char* a="abd";
string b(a); //或者string b=a;
2.string转换到const char*:
string a="abc";
const char* b=a.c_str();
3.char*转换到string:
直接赋值
char* a="abd";
string b(a); //或者string b=a;
4.string转换成char*:
string a="abc";
char* b=new char[a.strlen()+1];
strcpy(b,a.c_str());
5.char转换成const char :
直接赋值
char* a="abd";
const char* b=a;
6.const char* 转换成char*:
const char* a="abc";
char* b=new char[100];//分配一个足够长的内存空间
strcpy(a,b)