LinuxでCursesライブラリを使って半角カナが上手く制御できない
Linux Red Hat 6.1 を使っています。
cursesライブラリを使用して、linuxconf のようなウィザードを造っています。
半角カナの扱いで今困っています。
mvprintw(10, 16, "aaaaaaaaaaaa");
mvprintw(11, 16, "aaaaaaaaaaaa");
refresh();
[補足]
・上記の mvprintw()関数は、仮想画面に書く関数です。
printf()みたいなものです。
数字は左上を (0,0)原点としたXY座標で、その位置から書かれます。
refresh()関数は仮想画面を物理画面に描画して、目視できるようになります。
・上記では文字化けするといけないので、「a」としています。
「a」:半角カナの「ア」
と解釈してください。
[結果]
上記のように実行すると、2行目の表示がおかしくなります。
2行目は (11, 16) から書き出す要求をしているにもかかわらず、行頭からの
表示となってしまいます。
---------------aaaaaaaaaaaa
aaaaaaaaaaaa
「-」は空白です。
kterm 上でいろいろ試したところ、なぜか kterm のライン数を大きくすると
この現象が回避されました。
因果関係は全くわからず、また、ライン数を大きくする以外の回避策も
見つからず困っています。
<追加情報です>
ktermのライン数は同じのまま、Y座標を変えて、(10, 15), (11, 15) と
したところ正常に表示されました。
Y座標が「15以下」だと正常に表示されるみたいです。
ますます原因がわからない。。。
識者の方、ご教授願います。
お礼
再度の御回答、ありがとうございました。