c++char转string,将字符串转换为数组
char *进入字符串,可以直接指定值。 不能分别指定int和c字符类型的值。
字符串S1 (demo1);
string s1=’demo ‘;
char *p=’demo ‘;
s1=p;
从string迁移到char*有三种方法: c_str (、data )和copy
c_str ) )返回以“\0”结尾的c样式的字符数组
data ) )返回数组,不自动增加“\ 0”
复制) )将字符复制到新内存中。 必须分配并保存新内存。
前两个函数的原始内容发生变化,地址指向的内容也发生变化。 使用copy时,不会发生这种问题。 (参照例3 )
const char *p=s.data (;
const char * p=s.c_str (;
char*p=newchar[s.Length(1]);
s.copy(p,string:npos );
p[s.length () ]=0;
是的,释放p
示例3 :
STD :3360 strings1=’ demo 123456\n\0 ‘; const char *p1=s1.c_str (; const char *p2=s1.data (; s1=’345 ‘;
s1的内容发生变化时,p1和p2指针内容的地址也发生变化。