我最近安装了新的Windows 10构建14393,我想使用新的Linux子系统。所以我决定学习ncurses,并且我找不到如何从getch
那里获得口音像è
这样的字符的UTF-8代码。 因此,这里是我的代码:如何使用获得UTF-8口音与ncurses
#include <iostream>
#include <string>
#include <curses.h>
using namespace std;
int main(int argc, char **argv)
{
char ch;
setlocale(LC_ALL, "fr_FR.UTF-8");
initscr();
cbreak();
noecho();
printw("èèè\n"); // i can print accents
ch = getch(); // if i press è it gives me 2 characters
printw("%d", ch);
ch = getch();
printw("%d", ch);
getch(); // wait for a key to exit
endwin();
return 0;
}
例如,如果我按è
它给了我2个字符代码是-61
和-88
,所以,我怎么能有从UTF-8
表是232
其代码? 我用ncursesw这里是我g++
命令编译:
g++ file.cxx -o file -lncursesw
我的语言环境配置为fr_FR.UTF-8。 感谢您的任何答案。
[long story](http://www.unicode.org/reports/tr17/),简而言之,utf8将不同的代码点编码为1个或多个字节的序列。 –