CString   strA;
string    strB;
.......
strB  =  (String)strA; 
这样不行啊?对string 不是很了解;
那位能帮忙,一定给分

解决方案 »

  1.   

    strB  =  strA;
    就可以了吧。看看这篇文章,讲得比较清楚。
    http://www.evget.com/articles/evget_782.html
      

  2.   

    strB  =  (String)strA; 
    可以的.不过你得包含<string>文件==>
    在文件头部:
    #include <string>
    using namespace std;
      

  3.   

    真的可以嘛?这个类的指针可以赋给结构体的指针?oprater= 当然是不可以的了,因为这个运算符函数并不认识这个CString 类
      

  4.   

    strB = string((LPCTSTR)strA);
      

  5.   

    都说了类型不一样 强制使用复制构造和强制类型转换会出现运行时错误的这样做才对,使用缓冲区的指针赋值CString   strA;
    string    strB;
    .......
    strB  =  strA.GetBuffer(strA.GetLength());         //1.使用string的运算符函数赋值
    strcpy(strB,strA.GetBuffer(strA.GetLength()));     //2.使用C标准函数进行赋值
      

  6.   

    可以直接转换
    CString cstr;
    string str;
    str = cstr;
      

  7.   

    互换应该不行,string使用模板做的,CString是函数重载
    CString cstr;
    string str;
    str = cstr;这样可以CString cstr;
    string str;
    cstr = str;这样不行
      

  8.   

    string s
    CString Cs = s.c_str();
     反过来
      

  9.   

    CString szStr;
    szStr.GetBuffer(0);