|
楼主 |
发表于 2005-12-29 09:20:42
|
显示全部楼层
新发现现象,
int main()
{
setlocale(LC_ALL, "zh_CN.UTF-8");
wchar_t* ws = L"a测试b测试c";
std::wcout << ws << std::endl;
}
可以正常显示,但是
int main()
{
setlocale(LC_ALL, "zh_CN.UTF-8");
wchar_t* ws = L"a测试b测试c";
std::wcout << ws << std::endl;
char * c = "c测试b测试a";
std::cout<<c<<std::endl;
}
只能输出:
a测试b测试c
如果:
int main()
{
char * c = "c测试b测试a";
std::cout<<c<<std::endl;
setlocale(LC_ALL, "zh_CN.UTF-8");
wchar_t* ws = L"a测试b测试c";
std::wcout << ws << std::endl;
}
则输出:
c测试b测试a
aK bK c
Post by manphiz
- $ cat test.cc
- #include <iostream>
- int main()
- {
- setlocale(LC_ALL, "zh_CN.UTF-8");
- wchar_t* ws = L"a测试b测试c";
- std::wcout << ws << std::endl;
- }
- $ g++ test.cc -o test
- $ ./test
- a测试b测试c
复制代码
这不是正常输出了吗?不明白你们在搞什么……
我是Debian sid gcc 4.0.3 prerelease |
|