如何获得ncurses的输出星体层UNI code字 [英] How to get ncurses to output astral plane unicode characters
本文介绍了如何获得ncurses的输出星体层UNI code字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有下面这段极其简单code,这是应该输出(除其他事项外),三UNI code字符:
I have the following piece of extremely simple code, which is supposed to output (amongst other things), three unicode characters:
/*
* To build:
* gcc -o curses curses.c -lncursesw
*
* Expected result: display these chars:
* http://www.fileformat.info/info/unicode/char/2603/index.htm (snowman)
* http://www.fileformat.info/info/unicode/char/26c4/index.htm (snowman without snow)
* http://www.fileformat.info/info/unicode/char/1f638/index.htm (grinning cat face with smiling eyes)
*
* Looks like ncurses is NOT able to display second and third char
* (only the first one is OK...)
*/
#include <ncurses.h>
#include <stdio.h>
#include <locale.h>
int
main (int argc, char *argv[])
{
WINDOW *stdscr;
char buffer[] = {
'<',
0xE2, 0x98, 0x83, // U+2603 : snowman: OK
0xE2, 0x9B, 0x84, // U+26C4 : snowman without snow: ERROR (space displayed)
0xF0, 0x9F, 0x98, 0xB8, // U+1F638: grinning cat face: ERROR (space displayed)
'>',
'\0' };
setlocale (LC_ALL, "");
stdscr = initscr ();
mvwprintw (stdscr, 0, 0, buffer);
getch ();
endwin ();
/* output the buffer outside of ncurses */
printf("%s\n",buffer);
return 0;
}
这篇关于如何获得ncurses的输出星体层UNI code字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文