英単語の訳の表示が消える
Posted: 2017年2月04日(土) 09:12
端末で英単語帳を作成しています。
英単語と発音記号を表示、キー入力で日本語の意味を表示、続くキー入力で例文の表示をするものです。
画像を見てもらえると分かりやすいと思うのですが
4つの日本語の意味(jword)を表示したあとfgets()によるキー入力を受けるつもりでしたが
最終行の3つめの単語の意味で表示が消えています。
画面のリサイズなどを行うと4つめの単語まで表示されます。
fgtes()で入力を待つ際に、端末上のカーソルが単語の意味の3番目の位置にあるのが原因だと思うのですが
拡張表記にも後退(\b)や復帰(\r)はっても前進がないので、どう対処すればいいいのか困っています。
アドバイスお願いします。
void read_mode(Engdata engdata[], int n) {
int i;
char buff[32];
for (i = 0; i < n; i++) {
printf("%s %s", engdata[i].eword, engdata[i].pronun);
fgets(buff, sizeof(buff), stdin);
printf("%s %s %s %s",
engdata[i].jword1, engdata[i].jword2, engdata[i].jword3, engdata[i].jword4);
fgets(buff, sizeof(buff), stdin);
printf("%s %s\n%s %s\n%s %s\n%s %s\n\n",
engdata[i].esente1, engdata[i].jsente1, engdata[i].esente2, engdata[i].jsente2,
engdata[i].esente3, engdata[i].jsente3, engdata[i].esente4, engdata[i].jsente4);
}
}
画像を見てもらえると分かりやすいと思うのですが
4つの日本語の意味(jword)を表示したあとfgets()によるキー入力を受けるつもりでしたが
最終行の3つめの単語の意味で表示が消えています。
画面のリサイズなどを行うと4つめの単語まで表示されます。
fgtes()で入力を待つ際に、端末上のカーソルが単語の意味の3番目の位置にあるのが原因だと思うのですが
拡張表記にも後退(\b)や復帰(\r)はっても前進がないので、どう対処すればいいいのか困っています。
アドバイスお願いします。