程序中出现std::string pText;CString str;
请问std::string是什么样字符串,在Unicode版本下如何把str赋值给pText,我试过这样pText = (LPCTSTR)str;没有通过,哪位了解的话请讲解一下,3X!

解决方案 »

  1.   

    std::string 是STL版本的STRING,如果是编译通不过,那就重载 = 操作符 ,或者使用CString
      

  2.   

    std::string 是STL的字符串,编译不过是因为你使用了UNICODE,先将UNICODE字符串转换成ANSI字符串(LPCTSTR在UNICODE下意味着unsigned short
      

  3.   

    说明的是,我需要是UNICODE版本,所以必须在UNICODE版本下编译!
      

  4.   

    现在解决的是:在UNICODE版本下,对于std:string字符串,怎么把CString类型的字符串赋值给std:string,或者把CString改为什么类型?有其他办法也行!
      

  5.   

    怎么没有熟悉 std::string的吗?哪里有具体的介绍资料,希望各位大力帮忙啊!
      

  6.   

    std::string Text;
    CString str="my C++";
    Text=str;这样就行了,
    你再试试
    AfxMessageBox(Text.c_str());
      

  7.   

    std::string 是标准模板库的string类;是作为C++标准的一部分。
    CString 是Microsoft 的ATL里定义的一个模板类;
    我不太清楚你为什么要同时用这两种字符串类?
    而且作为由CString 对象向std::string对象赋值,我在Visual C++试过,没有问题的。
             string ptext;
    CString str=_T("junking");
    ptext=str;
    cout<<ptext<<endl;
    注:Win32 console ;
        在文件中加入#include <atlstr.h>  //引入CString 
        using namespace std;
    另外可以加入: cout<<str<<endl;
    可以看到结果为:
    junking
    00142040
    对于CString 输出00142040,关于这个问题,有兴趣可以一起讨论。