char * chr;
CString str="c:\aaa\ddd\asdd.mdb";int nLen=str.GetLength();
chr=new char[nLen+1];
chr[nLen]=0;
strcpy(chr,str);
.....................
delete chr;

解决方案 »

  1.   

    想请问chr[nlen]=0有什么用?是\0还是0?字符串中\一般要用\\表示,这样strcpy后,chr 中\会不会变成\\ (就是两个\)?
      

  2.   

    CString::GetBuffer
    不会的\不是字符 \\才是一个字符
      

  3.   

    我想知道的是,如果我的字符串是"asdfj\0"+str,其中str="c:\aa\asdfa.mdb\0"又是该怎样操作呢?我试过用char* chr="asdfj\0"+str不行,希望高手不吝赐教。
      

  4.   

    可以这样:
    str +="asdfj";
    chr=new char[nLen+1]; //这里chr 可以用另外方法定义,但一定要给chr 分配空间
    strcpy(chr,str);
      

  5.   

    你应该这样:str="asdfj\0"+str
    char *pStr=new char[str.size()+1];
    strcpy(pStr,str.c_str(),str.size());
    pStr[str.size()]=NULL;