XCode使用ncurses构建命令行工具

XCode使用ncurses构建命令行工具,xcode,cocoa,command-line,ncurses,curses,Xcode,Cocoa,Command Line,Ncurses,Curses,使用ncurse构建一个应用程序,该应用程序每次使用用户的一个按键来创建以下功能 当用户按tab键时,其当前行将尝试自动完成 使用getch(),我获取每个值,并将其添加到一个缓冲区中,当用户按enter键时将使用该缓冲区 每次击键后,屏幕将刷新,缓冲区将重新绘制到屏幕上 问题: 我在使用unicode字符时遇到了很多麻烦。 示例:“Nìco”将出现“Nìco” initscr(); cbreak(); noecho(); nonl(); move(0,0); scrollok(stdscr,

使用ncurse构建一个应用程序,该应用程序每次使用用户的一个按键来创建以下功能

当用户按tab键时,其当前行将尝试自动完成

使用getch(),我获取每个值,并将其添加到一个缓冲区中,当用户按enter键时将使用该缓冲区

每次击键后,屏幕将刷新,缓冲区将重新绘制到屏幕上

问题: 我在使用unicode字符时遇到了很多麻烦。 示例:“Nìco”将出现“Nìco”

initscr();
cbreak();
noecho();
nonl();
move(0,0);
scrollok(stdscr, TRUE);
keypad(stdscr, TRUE);
while(TRUE){
    int value = getch();
    if( value == '\r' ){
        int x,y;
        getyx(stdscr,y,x);
        move(y, 0);
        /// add loop and push to buffer
        char values[1024] = {};

        winnstr(stdscr,values, 1024);
        move(y+1, 0);
        printw("buffer was %s", values);
        move(0,0);   
        //break;
    }
    else {
        addch(value);
    }
}