[使用ncurses在C语言中打印Unicode字符

问题描述 投票:4回答:3

我必须使用ncurses在C中绘制一个框;

首先,为简单起见,我定义了一些值:

#define RB "\e(0\x6a\e(B"  (ASCII 188,Right bottom, for example)

我已经在Ubuntu上使用-finput-charset=UTF-8标志通过gcc进行了编译。

但是,如果我尝试使用addstr或printw进行打印,则会得到十六进制代码。我做错了吗?

c string gcc unicode ncurses
3个回答
1
投票

ncurses定义值ACS_HLINEACS_VLINEACS_ULCORNERACS_URCORNERACS_LLCORNERACS_LRCORNER。您可以在addch和朋友中使用这些常量,这将导致您看到预期的框字符。 (还有很多ACS字符;您可以在man addch中找到完整的列表。)


1
投票

一些问题:


0
投票

顺便说一句,也许我可能晚些时候才来参加聚会,但我会为您提供一些见解,这些见解可能会为您的“盒装图纸”需求提供一些启发和技巧。

© www.soinside.com 2019 - 2024. All rights reserved.