みなさんこんにちは。 ncursesの日本語の入力について教えていただきたく投稿しました。
ncurses の日本語入力というか削除についてなのですが 以下の単純なプログラムで入力を試してみました。 日本語の入力は通るのですが、BackSpaceで1文字削除すると 日本語1文字の半分だけ削除されてしまいます。 また、文字列の中でDeleteキーを押すと、その削除した文字以降は 妙なことになってしまいます。 1文字削除するときに日本語と半角文字を同じように処理する方法 をお教え頂けませんか? また、ncursesを使って日本語を扱う場合の一般的な定石というか 作法みたいなものがあるのでしょうか。 もしありましたらお教え頂けるとうれしいです。 現在使用している環境は FreeBSD 6.2-RELEASE .cshrc には setenv LC_CTYPE ja_JP.UTF-8 setenv LANG ja_JP.UTF-8 としてWindowsからTeraTermでアクセスしています。 日本語の入力はWindowsのIMEを使用しています。 $ cat ncurses.c ---------------------------------------------- #include <stdio.h> #include <ncurses.h> int main(void) { int i; initscr(); char str[10]; mvprintw(9, 5, "入力してみて:", str); keypad(stdscr, TRUE); while(getstr(str)); mvprintw(10, 19, "%s", str); refresh(); endwin(); return 0; } --------------------------------------------- -------------------------------------- Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar http://pr.mail.yahoo.co.jp/toolbar/