2
使用ncurse構建一個應用程序,該應用程序每次從用戶處使用一次擊鍵來創建以下功能。XCode使用ncurses構建命令行工具
當用戶按下標籤頁時,他的當前行將嘗試自動完成。
使用getch(),我取每個值並將其添加到緩衝區中,以便在用戶按下Enter時消耗。
每次按鍵後屏幕刷新,緩衝區重新繪製到屏幕上。
問題: 這種方式消耗unicode字符有很多麻煩。 例如:「Nìco」即將出現「Nóco」
使用ncurse構建一個應用程序,該應用程序每次從用戶處使用一次擊鍵來創建以下功能。XCode使用ncurses構建命令行工具
當用戶按下標籤頁時,他的當前行將嘗試自動完成。
使用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);
}
}