免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2237 | 回复: 8

[C] 请教一个关于ncurses无法显示中文的问题。 [复制链接]

论坛徽章:
0
发表于 2009-03-27 10:02 |显示全部楼层
10可用积分
我的系统是ubuntu8.10
内核是2.6.27-14
GCC是4.3.2

#include <curses.h>

int main(void)
{
    initscr();
    printw("%s", "我是谁");
    refresh();
    endwin();
}


结果输出的是乱码,google了一下
发现他们的情况好像和我不一样.
对linux不是很熟悉.刚开始学习linux程序设计.还望各位多多指点

==================================华丽的分隔线==============================
问题已解决:

在源码中加入
setlocale(LC_ALL, "");
编译使用-lncursesw选项就搞定

[ 本帖最后由 airhiphop 于 2009-3-28 07:45 编辑 ]

论坛徽章:
0
发表于 2009-03-27 10:03 |显示全部楼层
是不是你用的编辑器的原因?你在什么地方编写代码的?

论坛徽章:
0
发表于 2009-03-27 10:12 |显示全部楼层
vim

vim里能正确显示

论坛徽章:
0
发表于 2009-03-27 10:19 |显示全部楼层
那你是用终端连接登录?

论坛徽章:
0
发表于 2009-03-27 10:22 |显示全部楼层
我是本机的虚拟终端
echo $TERM结果是xterm

论坛徽章:
0
发表于 2009-03-27 10:25 |显示全部楼层
OS支持中文字符集吗?

论坛徽章:
0
发表于 2009-03-27 10:29 |显示全部楼层
原帖由 airhiphop 于 2009-3-27 10:22 发表
我是本机的虚拟终端
echo $TERM结果是xterm

那很可能是终端的传输方式的问题,看看是不是UTF-8

论坛徽章:
0
发表于 2009-03-27 10:40 |显示全部楼层
我装的是图形界面的
支持中文

用vim可以正确显示中文

终端也能输入汉字

应该不是终端问题吧

locale看了

zh_CN.UTF-8

论坛徽章:
0
发表于 2009-03-27 11:19 |显示全部楼层
继续期待高手

不是我不想自己动手解决,实在是我太菜了........
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP