测试GCC在windows下编译宽字符的问题
2012-03-09 17:10
393 查看
//使用MinGW在windows下面编译宽字符的例子
//g++ testwstring.cpp
//注意::源文件必须保存为UFT-8的格式
//控制台下输出如下
//这是中国汉字
//字符个数::6
//<汉>所在的位置::4
//如果使用C++ Builder在控制台下编译宽字符,可以使用
//bcc32 testwstring.cpp
//在windows下对宽字符的支持,BCB显然比GCC要强.在C++ Builder 2010以后的版本直接支持UnicodeString
有的时候希望将宽字符(汉字)写入文件,请看如下示例:
//g++ testwstring.cpp
//注意::源文件必须保存为UFT-8的格式
#include <iostream> #include <locale> #include <string> using namespace std; int main() { setlocale(LC_ALL, ""); wstring ws=L"这是中国汉字"; wcout<<ws<<endl; wcout<<L"字符个数::"<<ws.size()<<endl; wcout<<L"<汉>所在的位置::"<<ws.find_first_of(L"汉")<<endl; return 0; }
//控制台下输出如下
//这是中国汉字
//字符个数::6
//<汉>所在的位置::4
//如果使用C++ Builder在控制台下编译宽字符,可以使用
//bcc32 testwstring.cpp
//在windows下对宽字符的支持,BCB显然比GCC要强.在C++ Builder 2010以后的版本直接支持UnicodeString
有的时候希望将宽字符(汉字)写入文件,请看如下示例:
//g++ testwstringfile.cpp //将宽字符(汉字)写入文件 //注意::源文件必须保存为UFT-8的格式 #include <iostream> #include <fstream> #include <locale> using namespace std; int main(int argc, char** argv) { setlocale(LC_ALL,"chs"); wfilebuf wfb; wostream output(&wfb); wfb.open("WStringFile.txt", ios::in | ios::out |ios::trunc); output << L"将汉字写入文件!" <<endl; return 0; }
相关文章推荐
- [C] 跨平台使用TCHAR——让Linux等平台也支持tchar.h,解决跨平台时的格式控制字符问题,多国语言的同时显示(兼容vc/gcc/bcb,支持Windows/Linux/Mac)
- [C] 跨平台使用TCHAR——让Linux等平台也支持tchar.h,解决跨平台时的格式控制字符问题,多国语言的同时显示(兼容vc/gcc/bcb,支持Windows/Linux/Mac)
- Vim常见指令与问题总结(二) --- 在Windows下搭建GCC+VIM编译环境
- 0420 测试记录 gcc 编译时 库文件 头文件问题及其解决方案
- [C] 跨平台使用TCHAR——让Linux等平台也支持tchar.h,解决跨平台时的格式控制字符问题,多国语言的同时显示(兼容vc/gcc/bcb,支持Windows/Linux/Mac)
- Ubuntu10.04 交叉编译工具glibc2.3.6制作gcc版本过高问题
- mips-openwrt-linux-gcc test_usbsw.c -o usbsw 编译问题
- mac OS X 10.10更新gcc 4.9.1后默认无法编译连接的问题
- 编译与链接的问题 gcc -fPIC -shared
- gcc编译遇到到不能编译问题
- 使用ANT编译过程中出现的字符不匹配的问题
- ADS 1.2 在WIN7 64 下——编译测试程序出错的问题
- 编译cloog for gcc 4.8.5 问题
- Windows命令行下编译包含中文字符的Java文件报错
- boost 库在windows 系统下,gcc编译器编译
- windows 下编译Facebook的fresco的一点儿小问题
- 不同版本gcc编译编译相同kernel source code 的问题
- 【java】在windows dos下编译完成后,出现找不到或无法加载主类的问题
- C语言写了一个socket client端,适合windows和linux,用GCC编译运行通过
- GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题