CString str = "what";
char *p = (LPCTSTR)str;
//or
char *t = str.GetBuffer(str.GetLength()); 
//or
char array[200];
char* p = array;
CString str = "my string";
strcpy(p, (LPCTSTR)str);

解决方案 »

  1.   

    CString str;
    char * str1=(LPCTSTR) str;
      

  2.   

    CString str;
    char *ch=str.GetBuffer(100);
    在下次使用该字符串时,需要调用str.ReleaseBuffer();
    若不再使用,可以不用调用ReleaseBuffer,系统会自动释放。
      

  3.   

    还是这样比较好
    CString str;
    char * pCh = (LPSTR)(LPCSTR) str;
      

  4.   

    CString str;
    str="Can I Help You.";
    char *Name;
    Name=str.GetBuffer(strlen(str));
      

  5.   

    比较赞同使用CString类成员GetBuffer
    CString str("Sample Message ...");
    char *ch = str.GetBuffer(str.GetLength());str.ReleaseBuffer();注意楼上的转换类型,其实GetBuffer返回支持UNICODE和DBCS的32位字符串指针:LPTSTR ,建议你查一些MSDN资料。
      

  6.   

    CString str = "asdfasdf";
    char *pBuf = str.GetBuffer(str.GetLength());
    ...
    str.ReleaseBuffer();