unicode编码下cout输出cstring类型的中文字符串(在线等)

i_love_wei 2010-07-08 11:25:02
写了个为win2的控制台程序,unicode编码的,要用cout输出cstring类型的中文字符试过cout<<(LPCTSTR)cc;等不行啊,求达人帮助
...全文
432 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
msdn65997404 2011-07-07
#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, TCHAR * argv[])
{
std::wcout.imbue(std::locale( "chs"));
TCHAR a[]=_T("我来了bbb");
wcout << a << endl << _tcslen(a) << endl;
return 0;
}

2008 设置工程为UNICODE编码 关键是使用UNICODE输出中文的时候必须设置地域
回复
heshi1314 2010-10-30
试试,我的分数会不会增加
回复
lsppow2oo9 2010-09-09
[Quote=引用 4 楼 lazy_2010 的回复:]

cout 不能支持宽字符串输出,建议这样修改。
例如:
CString strWide = L"中文测试123";
CStringA astr;
astr = (LPCWSTR)strWide;
cout<<(LPCSTR)astr<<endl;
getchar();
[/Quote]

这样可以,我在vs2008下试的。
回复
hastings 2010-07-08
LZ什么编译器,VC6的wcout没用的。
回复
HJun_www 2010-07-08
cout<<LPCTSTR(cc)
回复
lazy_2010 2010-07-08
cout 不能支持宽字符串输出,建议这样修改。
例如:
CString strWide = L"中文测试123";
CStringA astr;
astr = (LPCWSTR)strWide;
cout<<(LPCSTR)astr<<endl;
getchar();
回复
不行就setlocal(0,"chs");
回复
Eleven 2010-07-08

#include <iostream>
using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
CString strText(_T("你好 Hello,World!"));
std::wcout.imbue(locale("chs"));
std::wcout<<(LPCTSTR)strText;
return 0;
}
回复
昨夜无风 2010-07-08
试试wcout
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告