我必须使用ncurses在C中绘制一个方框;
首先,为简单起见,我定义了一些值:
#define RB "e(0x6ae(B" (ASCII 188,Right bottom, for example)
我已经使用gcc编译,通过Ubuntu,使用-finput-charset=UTF-8
标志。
但是,如果我尝试使用addstr或printw进行打印,我会得到hexa代码。 我做错了什么?
ncurses
定义值ACS_HLINE
, ACS_VLINE
, ACS_ULCORNER
, ACS_URCORNER
, ACS_LLCORNER
和ACS_LRCORNER
。 您可以在addch
和friends中使用这些常量,这将导致您看到预期的框字符。 (还有更多的ACS角色;你会在man addch
找到一个完整的列表。)
ncurses
需要知道它绘制的是什么,因为它需要确切地知道光标的确切位置。 输出控制台控制序列不是一个好主意; 如果ncurses知道如何处理序列,它有自己的function抽象,你应该使用该抽象。 ACS(“备用字符集”)定义是这些抽象之一。
一些问题:
以上就是c/c++开发分享使用ncurses在C中打印Unicode字符相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/544659.html