深入char buffer[]与string

来源:互联网 发布:java equals 编辑:程序博客网 时间:2024/05/16 10:13

                             char buffer[]

字符数组,char buffer[6]="hello";char数组末尾以'\0'结束,你在定义个char数组时一定要给结束符预留空间。hello占5个字节,所以你的char数组至少要6个字节,一个要留给系统自动添加的'\0'。你也可以自己添加结束符,例如:char buffer[6]={'h','e','l','l','o','\0'};

sizeof(buffer),算出的空间是声明中声明的大小。例如,char buffer[6]="hel";sizeof(buffer)=6;初了前三个元素依次为h,e,l,其它的都填充'\0';

                             string

string data=".........";不管给data赋给怎样的值,sizeof(string)恒等于32。

                         char buffer[]与string的联用

   char buffer[6] = "hello";

   string data=buffer;

   将字符数组赋给data,data只接受非空字符,当遇到空字符即'\0'时,就停止接受。

   因此,data.length()=5.

   若char buffer[6]="hel";buffer[4]='l';string data = buffer;

   则data.length=3。即data在遇到空字符后就停止继续接受后面的字符了。

原创粉丝点击