输出"█"在C中使用ncursesw

时间:2013-06-06 22:09:11

标签: c unicode ncurses curses

我正在用C语言制作一个在嵌入式系统上运行的俄罗斯方块游戏,但是我希望使用诸如“█”(UNICODE 0x2588)等块字符制作一个模拟界面。

我已经在使用ncursesw并听说过使用wprintw()而不是print()。

printw("%i %i %i %i %i %i %i %i %i\n",board[0][i],board[1][i],board[2][i],board[3][i],board[4][i],board[5][i],board[6][i],board[7][i], piece);

为了输出“█”,这条线应该是什么?

1 个答案:

答案 0 :(得分:1)

没有打印功能,只有addwstr功能:

addwstr, addnwstr, waddwstr, waddnwstr, mvaddwstr, mvaddnwstr, mvwaddwstr, mvwaddnwstr 
- add a string of wide characters to a curses window and advance cursor

和add_wch函数:

add_wch, wadd_wch, mvadd_wch, mvwadd_wch, echo_wchar, wecho_wchar 
- add a complex character and rendition to a curses window, then advance the cursor

某些字符有宏,例如阻止WACS_BLOCK

对于您的代码,您必须使用wchar_t字符串,然后使用addwstr