Linux 版 (精华区)
发信人: tcpip (偶的昵称改了), 信区: Linux
标 题: TurboLinux 4.02中文化初探(2)(转寄)
发信站: 哈工大紫丁香 (Sun Dec 26 12:10:05 1999), 转信
发信人: stable (xixi), 信区: Linux
标 题: TurboLinux 4.02中文化初探(2)
发信站: BBS 水木清华站 (Sat Dec 25 22:32:39 1999)
2. 安装locale
locale在中文化方面的作用极大, 但似乎没有引起足够的重视,
TLC 4.02对 locale 的支持, 包括GBK/Big5 locale, 全面支持NLS
及I18N.
主要是localedata-zh-0.05-4.noarch.rpm, 将这个包装上,理论上
就可以使用locale了.
老于(yumj)(不是那个玉米糊,:P)写了个程序可以用来测试locale是否正常
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
char *string = "测试Locale的软件!";
void main()
{
int i, l, length;
char *ptr;
char cbuf[128];
wchar_t wcbuf[128];
setlocale(LC_ALL, "");
/* MB_CUR_MAX check */
printf("MB_CUR_MAX %d\n", MB_CUR_MAX);
length = strlen(string);
printf("string %s, length %d\n", string, length);
/* mbstowcs() */
l = mbstowcs(wcbuf, string, 128);
printf("mbstowcs() -> num %d,", l);
for (i = 0; i < l; i++) {
printf(" %x", wcbuf[i]);
}
printf("\n");
/* wcstombs() */
l = wcstombs(cbuf, wcbuf, 128);
printf("wcstombs() -> length %d, %s\n", l, cbuf);
/* mblen() check */
for (ptr = string; *ptr; ) {
l = mblen(ptr, length);
mbtowc(wcbuf, ptr, length);
printf("ptr %s, mblen %d, wchar %x\n", ptr, l, wcbuf[0]);
if (l <= 0) {
break;
}
ptr += l;
}
}
//end
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.138.50]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.044毫秒