怎样用string 或 char 接受cstring的字符内容?

解决方案 »

  1.   

    如果是非Unicode情况下,(LPCTSTR)可以强制转换CString为const char*
    如果是Unicode,那么要用WideCharToMultiByte,或者W2A,T2A之类的宏转换CString到char*
      

  2.   

    char[]->CString的方法:
    char abc[]="hellooooo";
    CString str;
    str.Format("%s",abc);
    -----------------
    char * ->CString
    CString aa;
    char   *szText   =   NULL;
    int len = aa.GetLength();
    szText = new char[len];   
    memcpy( szText, aa.GetBuffer(len), aa.GetLength() ); 
    aa.ReleaseBuffer();  
    skinppLoadSkin(szText);
    -----------------
    CString->char的方法:
    char abc[100];
    CString str = "hellooooo";
    strcpy(abc,str);
    -----------------
    CString和string之间转换:
    string a;
    CString b;
    a = (LPCTSTR)b;
    b = a.c_str();
    CString strA = "A";
    std::string strB = "B";strA = strB.data();  // CString -> string
    strB = LPCSTR(strA); // string -> CString