首页天道酬勤c++ string,char拼接成string

c++ string,char拼接成string

张世龙 05-06 13:38 85次浏览

char[]、char *、string之间的转换char[]和char *之间的转换

char []到char * :直接赋值即可

//char[]char*charstr[]='tldxrz '; char *str1=str; cout str1 endl; 从char *到char * :实现字符复制,无法赋值操作

//char * char [ ] const char * ST=' hehe '; char st1[]='tldxrztldxrz '; strncpy(st1,st,Strlen ) st ) 1; //注意加1操作//tp=temp; //错误,无法实现cout st1 endl; char和const char之间的转换

const char到char :已实现副本,无法赋值

//const char * char * const char * ST=' tldxrz '; //不能直接赋值//char *st1=st; //(编译器不得报告错误)//cout st1 endl; //另起一个空格,把文字一个个复制。 过去的char*NCstr=newchar[Strlen(ST )1]; strcpy(NCstr,st ); cout ncstr endl; 从char到const char :直接赋值

//char*constchar*char*ST='hehe '; //(编译提示警告) const char *st1=st; cout st1 endl; char *和string之间的转换

向Char*string迁移:1)直接赋值; 2 )实现结构转型

//char *转换为字符串//。 (定义char*变量并直接分配值。 最好定义为const变量。 否则编译器警告) const char *st='hello '; //赋值转换string st1=st; cout st1 endl; //结构转换StringS1(ST,STStrlen ) ST ); cout s1 endl; const char *改变变量值的st='tldxrzla '; cout st endl; string到char * :赋值操作(注意类型转换) )

//string到char *string st='My test '; //char *st1=st; //错误类型不同//char *st1=st.c_str (; //错误类型不同的char * st1=const _ cast char * (ST.c _ str (); cout st1 endl; char[]和string之间的转换

Char[]string:1 )直接赋值; 2 )实现结构转型

//char[]表示string char st[]='hello '; //直接赋值的string st1=st; cout st1 endl; //结构为stringST2(ST,STstrlen ) ST ); cout st2 endl; 从string到char[] :实现复制,无法直接分配值

//string转char []string ts='My test1 '; //char ts1[]=ts; //错误//char ts1 [ ]=const _ cast char * (ts.c _ str (); //错误char ts1[]='tldxrzltldxrzlaaaa '; strncpy(ts1,ts.c_str ),ts.length ) ) 1; //注意,请务必添加1。 否则,'\0' cout ts1 endl; 返回0; 总结

涉及到char []字符数组与其它类型转换,一般需要进行拷贝,不能直接赋值实现。char []和char *都可以通过构造新的string完成其对string的转换。涉及到到char *转换,需要注意类型一致,同时注意const的使用。

将字符数组变成字符串,string转换成byte数组