CString str;
char chtmp[16];
str="afdasdfasdfa";
现在我想将str的值赋给chtmp,请问怎么做?直接赋是肯定不行的。

解决方案 »

  1.   

    LPTSTR *strAddr=str.GetBuffer(0);
    memcpy(chtmp,strAddr,16);//這個16你看你自己而定如果沒定義unicode,那麼這樣是可以的.
      

  2.   

    CString str;
    char chtmp[16];
    str="afdasdfasdfa";最好这样,if(str.GetLength()>16)
    strncpy(chtmp,str.Getbuffer(0),16);
    else
    strncpy(chtmp,str.Getbuffer(0),str.Getbuffer(0));
    str.ReleaseBuffer();
      

  3.   

    chtmp = str.GetBuffer(0);
    str.ReleaseBuffer();
      

  4.   

    chtmp=new char [strlen(str)+1];
    strcpy(chtmp,str);
    记得delete chtmp 就可以了。