在VC中CStrign和string有什么区别?为什么我直接给string类型的变量赋值会错?

解决方案 »

  1.   

    CString 是MFC的封装类
    string 是标准库的字符串类型
    两者有区别,可以这样赋值CString strMFC;
    string strSTL;strMFC = strSTL.c_str();strSTL = strMFC.GetBuffer();
    strMFC.ReleaseBuffer();
      

  2.   

    恭喜楼上另外,string准确地说是char型的模版类,而CString则是对char*的封装
      

  3.   

    把CString向string转这样即可
    strSTL = (LPCTSTR)strMFC
      

  4.   

    在VC中几乎不用string,而用cstring
      

  5.   

    用CString比较烦,就一定要用MFC(也可以找第三方的不需要MFC的CString代码), 用string只用stl,便于遗址,特别是向unix移植