char * 和 CString 类型怎样互换?

解决方案 »

  1.   

    char *cStr;
    CString str;
    cStr = str.GetBuffer();
      

  2.   

    char * -->CString : sprintf()
    CString -->char *: =
      

  3.   

    char * -->CString : =
    CString -->char *: sprintf()
    写反了!
      

  4.   

    CString str;
    char *pstr = "aaa";str = pstr ;反过来
    pstr = (LPTSTR)(LPCTSTR)str ;
      

  5.   

    pstr=(LPSTR)(LPCTSTR)strCString; //CString---->char*
      

  6.   

    char * p;
    CString str;
    p=(LPTSTR)(LPTCSTR)str;
    或者
    char *p;
    CString str;
    p=str.GetBuffer();
      

  7.   


    CString str=(LPSTR)(LPCTSTR)(char* p)char* p=new char[str.GetLength()];
    strcpy(p,str.GetBuffer(str.GetLength());
      

  8.   

    char* 可以自动转换成CString, CString 可以通过(char*)(LPCTSTR)转换,比如
    void foo1(char *);
    void foo2(CString str);char *pBuf;
    CString str;foo1((char*)(LPCTSTR)str); // OK
    foo2(pBuf); //OK
      

  9.   

    CString p = "test";
    char *p1 = (LPTSTR)(LPCTSTR)p;
    AfxMessageBox(p1);         char *p = "test";
             CString str= p;
             AfxMessageBox(str);
      

  10.   

    char *ch =  str.GetBuffer(0);
    CString string(ch);