荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (终生勤奋便成天才), 信区: Linux
标  题: TurboLinux 4.02中文化初探(2)
发信站: BBS 荔园晨风站 (Mon Dec 27 19:48:42 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 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店