在尝试使用 ncurses 进行一些工作时,我已经到了需要使用宽字符来绘制方框图以及其他东西的地步,而且我处于每个图块控制很有用的情况。
但是,当尝试使用以下代码时,我遇到了麻烦:
#define _XOPEN_SOURCE_EXTENDED
#include <locale.h>
#include <curses.h>
#include <stdlib.h>
#include <time.h>
#define ESC 27
int main() {
setlocale(LC_CTYPE, "");
initscr();
keypad(initscr(),1);
curs_set(9);
nonl();
cchar_t special;
setcchar(&special, L"æ", 0, COLOR_PAIR(0), NULL);
cchar_t speshul;
setcchar(&speshul, L"朝", 0, COLOR_PAIR(0), NULL);
int c=0;
do {
clear();
mvadd_wch(3,6, &special);
mvadd_wch(4,6,&speshul);
refresh();
} while ((ESC!=(c=getch())));
endwin();
}
编辑:
更新了要使用的代码setcchar
;输出令人沮丧:
?
一个问号special
应该在哪里,什么也不speshul
应该在哪里。
两个角色都没有按预期出现。
问题出在哪里,我该如何解决?
编辑:回应Petesh的一些额外信息:
预期的结果是打印字符“æ”,在其下方,朝。我在 Mac OS X 上使用 Terminal.app;我正在编译它 Xcode。