CString str = _T("abcdef");
cout << str <<endl;//输出是数字是什么原因?
控制台使用MFC动态库的程序

解决方案 »

  1.   

    肯定应该没有问题啊:
    #include <afx.h>    
    #include <iostream.h> 
    void main() 

      CString str=_T("123456");
      cout<< str.GetBuffer(0) <<endl;
     

      

  2.   

    就是cout后面没用过CString类型的,竟然会这么用。比较奇怪。
    一般cout后面都跟char,什么string之类的。MFC里面才用CString,控制台不用
      

  3.   

      CString str=_T("123456");
      cout<< str<<endl;//一般也行,但是建议用下面的  CString str=_T("123456");
      cout<< str.GetBuffer(0) <<endl;
      

  4.   

    CString str = _T("abcdef");
    cout << str.GetString() <<endl;
      

  5.   

    解决方案很多的,一个是把项目的字符集改为多字节,或者把CString 类型的字符串转换为char*,具体转换的API好像是WideToMutilByte, 你查查msdn就知道了,出现数字是由于字符编码不统一造成的,
      

  6.   


    GetBuffer(0)//从0开始吗?