char *a;
char *b;
b="test";
a = new char[XYZ]//这里的XYZ为动态的
strcat(a,b);
delete [] a;//这里报错
请问,这里如何释放a的内在?

解决方案 »

  1.   

    char *a;
    char *b[4];
    b="test";
    a = new char[XYZ]//这里的XYZ为动态的
    strcat(a,b);
    delete [] a;//这里报错
    请问,这里如何释放a的内在?上面有个地方写错了,这里再写一下
      

  2.   

    a=new char[XYZ];
    之后加一句
    a[0] = '\0';
      

  3.   

    或者将strcat()函数换成strcpy()函数
      

  4.   

    char *b[4];
    b="test";
    ----------------
    这里这样写能通的过编译??
      

  5.   

    char *b[4];
    b="test";
    ========
    char *b[4]这个定义的是什么啊,是一个指针数组啊,应该是char *b=new char[5];
      

  6.   

    这里这样写能通的过编译??char *b[4]这个定义的是什么啊,是一个指针数组啊,应该是char *b=new char[5];这只是随手写的,因为原来的代码太长,懒的发了,所以临时写了一段,基本上就是这个意思,现参照VisualEleven的意见,在末尾加了\0后就可以了