在WIN上wchar_t是2个字节 Linux上是4个字节
gcc 有选项-fshort-wchar 把wchar_t 编译成2个字节
但用着怎么有问题呢?
test.cpp
#include
初学C++,近日在看C++ primer 3ed,对3.1节的wchar_t的介绍有疑惑。书中说wchar_t是用于特殊语言集的,如汉字等。我觉得可能是对unicode的支持。遍了一个小程序测试一下,产生了问题。
书中介绍用引用wchar_t字符要在字符前加L。下面是我的2个程序,对有L和没有L出不同。
[program 1]
#include
我在写一个希望移植的东东,现在是在win32下,里面涉及到文件操作,但是我没发现linux下提供了什么支持wchar_t*的文件打开操作,难道是都转换成utf8的?我对此很模糊,请高人指点一下,谢谢
各位前辈,请问 wcout 输出 wchar_t 字符串的具体工作过程是什么样的? 我正在调试我的 win2k/mingw 环境下 STLport 中的 wcout ,现在 wcout 输出中文 wchar_t 字符串乱码。 我用 gdb 调试发现 wcout 输出 wchar_t 字符串时,先调用 codecvt 把 wchar_t 字符串转换成 char 字符串,然后输出 char 字符串。但是在我的 mingw 环境中转换中文时好像不对。 :-( [ 本帖最后由 zhujiang73 于 2006-11-15 11:28 编辑 ]
驱动程序中要用到关于宽字符处理的函数,目前存在如下问题: 1)用到了wcslen(),wprintf等函数,需要重写这些函数吗? 2) gcc glibc的源码中没有这些函数的原代码,哪里可以找到呢?
那位老大能给讲解一下国际化文字行wchar_t,提供资料也可以(最好有简单的例子代码),感激不尽 还有想问一下,在redhat9里面是是否自动转换 我试了一下 char a*="我是中国人"; printf("%s",a); 可以打印出来 我要做成使用wchar_t类型的应该怎么写 使用wprint输出
我的系统是debian4 etch, locale -a 显示
C
POSIX
zh_CN.utf8
然后我写了个小程序
#include