当前位置: 技术问答>linux和unix
那位老大能给讲解一下国际化文字行wchar_t
来源: 互联网 发布时间:2015-06-28
本文导语: 那位老大能给讲解一下国际化文字行wchar_t,提供资料也可以(最好有简单的例子代码),感激不尽 谢了先 | 记得设置程序的 locale,呵呵。 可以去 C/C++ 那边问问。 wchar_t 一般是 16bit,有些编...
那位老大能给讲解一下国际化文字行wchar_t,提供资料也可以(最好有简单的例子代码),感激不尽
谢了先
谢了先
|
记得设置程序的 locale,呵呵。
可以去 C/C++ 那边问问。
wchar_t 一般是 16bit,有些编译器作为内置类型,有些编译器作为 typedef:
typedef short wchar_t;
L 表示UNICODE 字符串
可以去 C/C++ 那边问问。
wchar_t 一般是 16bit,有些编译器作为内置类型,有些编译器作为 typedef:
typedef short wchar_t;
L 表示UNICODE 字符串
|
wchar_t在sco unixware7.1.3上是long型,上次差点出了乱子
|
只知道char在32位机上只有8位,而wchar_t为16位,可以表示各国字符。
|
写了一个应用的例子,两个打印语句都能打印“我的中国”(注意wchar_t的定义和使用方法),然后他们的区别是a[]长度为8(加后面一个''),b[]为4. 我在WinXP + Dev-C++里编译通过:
#include
int main()
{
char a[] = "我的中国";
wchar_t b[] = L"我的中国";
printf("char: %sn", a);
printf("wchar_t: %lsn", b);
system("PAUSE");
return 0;
}
#include
int main()
{
char a[] = "我的中国";
wchar_t b[] = L"我的中国";
printf("char: %sn", a);
printf("wchar_t: %lsn", b);
system("PAUSE");
return 0;
}
|
程序在Linux下出现乱码,可能是系统Shell的原因吧(Linux对中文支持总是不好),程序应该没问题。在终端模式下,你可以下载一个zhcon,可以比较好的支持中文:
http://zhcon.sourceforge.net/download_cn.html
http://zhcon.sourceforge.net/download_cn.html
|
学习。
|
gz
|
怎么会是 long 的?难道。。。不知道:(