>\bや\rの後に' 'を入れれば消えましたが改行してからでは消えませんでした。
>改行した後でも消える方法はないでしょうか?
>
>printf("abcdef\b "); /* 消える */
>printf("abcdef\n"); /* 消えない */
>printf("\b ");
エスケープシーケンスを使う方法があります。試して使えたら、過去
ログを検索してエスケープシーケンスについて調べてみてください。
ただしこの方法は移植性はありません。
#include <stdio.h>
int main(void)
{
printf("abcd\n");
printf("\x1b[1A"); /* 表示位置を上に1つ移動 */
printf("*");
printf("\x1b[2C"); /* 表示位置を右に2つ移動 */
printf(" ");
return 0;
}
全部消して書き直すという手もあります。
#include <stdio.h>
#include <stdlib.h> /* system関数のため */
int main(void)
{
system("cls"); /* 画面をクリア。"cls"の部分は環境次第 */
printf("abcd\n");
system("cls");
printf("*bc \n");
return 0;
}
|