|
|

楼主 |
发表于 2006-8-9 13:33:09
|
显示全部楼层
谢谢了,查了些资料终于知道怎么弄了。总结了一下,发一下吧。
首先,要在程序的开始调用setlocale函数来设置locale,如果使用系统默认的locale,就这样
具体可以参见 setlocale(3)
对于UTF-8的字符和字符串,就可以像使用普通的字符和字符串那样使用了,不过对于strlen,要用wcslen()来代替(好像如果想要看一下一个字符串要占用多少列的空间,也要用wcswidth(),不过我不确定,我作了几次实验反回的都是-1,希望知道的朋友回个贴讲一下,谢谢了)。
然后在编译时也要注意,不要用gcc a.c -lncurses,而要用gcc a.c -lncursesw,ncursesw是ncurses支持宽字符(wide character)的版本。这样整个程序就可以使用UTF-8编码的任意字符了。
ps:在网上查了半天发现这方面的资料真的好少,最后在一个关于aspell的贴子里面找到了结果。 |
|