对char *f=new char[4]赋初值

用new 开辟的可以直接指向字符串常量,但是之后就不能进行修改了比如
char * f=new char[4];
f="ab";
f[0]='0'//错误
但是可以输出f[0];

应该f[0]='a';
f[1]='b';
f[2]='\0';//要指定'\0',不然会出现乱码,因为指向的内存剩下的未知
或者使用strcpy_s进行赋值,strcpy只
string g="acv";
strcpy_s(f,4,g.c_str());
或则
char * p="ad";
strcpy(f,p);

posted @ 2018-10-22 09:43  七月的四字  阅读(309)  评论(0编辑  收藏  举报