#include #include #include #include #include int main(void) { wint_t wi; wchar_t w_buffer[200]; char buffer[200]; int index; setlocale(LC_ALL, ""); initscr(); cbreak(); noecho(); keypad(stdscr, TRUE); index = 0; for ( ; ; ) { get_wch(&wi); if (wi == '\r' || wi == '\n') break; w_buffer[index++] = (wchar_t) wi; } w_buffer[index] = (wchar_t) '\0'; for (index=0; w_buffer[index]; index++) { cchar_t cc; wchar_t wch[2]; wch[0] = w_buffer[index]; wch[1] = (wchar_t) '\0'; setcchar(&cc, wch, A_NORMAL, 0, NULL); addnwstr(w_buffer+index, 1); } refresh(); getch(); endwin(); wcstombs(buffer, w_buffer, 200); printf("->%s<-\n", buffer); fflush(stdout); return 0; }