成功用Code::Blocks输出中文宽字符
c++吧
全部回复
仅看楼主
level 11
gameloftyou 楼主
基本设置:
Settings
----
Compiler and debugger
------
Other options
------
-finput-charset=GBK -fexec-charset=UTF-16BE
另外代码编码为WINDOWS-936即GBK
测试代码:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Chinese-simplified");
    wcout<<L"This is 中文。▆▇██■▓回"<<endl;
    cout<<"HelloWorld!"<<endl;
    //上面这句打印不出,感觉应该是-fexec-charset=UTF-16BE这句的关系,暂不知如何解决。
    return 0;
}
2012年07月19日 15点07分 1
level 12
-fexec-charset=UTF-16BE
->
-fexec-charset=GBK
2012年07月19日 15点07分 3
这两个不是重复设置了么?
2012年07月19日 15点07分
-finput-charset=GBK是让编译器把字符串从GBK转为UTF8(转码宽字符用), -fexec-charset=GBK让编译器从UTF8再转回来
2012年07月19日 15点07分
@飞翔的天地 [揉脸]为什么我测试出来效果不对
2012年07月19日 15点07分
level 12
2012年07月19日 15点07分 4
怎么是C,C++的试过没有?
2012年07月19日 15点07分
2012年07月19日 15点07分
@飞翔的天地 [揉脸]还有你3楼是什么意思啊,Other options这个到底设置成什么 我试了:-finput-charset=GBK -fexec-charset=UTF-16BE -fexec-charset=GBK 不行[囧]
2012年07月19日 16点07分
level 15
mingw的wcout我记得残的?
2012年07月19日 15点07分 5
wchar_t不一样,环境变量LC_ALL什么的没有,<locale>坏的
2012年07月19日 16点07分
1