みなさんこんにちは。

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/

メールによる返信