出力した内容を消去するには、C言語ではいつも何を使用しますか?

C言語では、出力した内容をクリアする方法は以下があります。

  1. 「\r」または「\b」のエスケープ文字を使う:「\r」はカーソルを現在の行の先頭に動かし、スペースを出力して以前の内容を上書きする。「\b」はカーソルを1文字左に動かし、スペースを1文字出力して以前の内容を上書きする。

サンプルコードです。

#include <stdio.h>
int main() {
printf("Hello, World!");
printf("\r           "); // 将光标移动到行起始位置并输出空格
return 0;
}
  1. ANSIエスケープシーケンスを利用する: ANSIエスケープシーケンスを使用すると、端末上でカーソルの位置や色などの属性を制御できます。指定されたANSIエスケープシーケンスを使用することで、カーソルを特定の位置へ移動させてからスペースを出力し、既存の内容を上書きできます。

ネイティブな日本語で言い換えてください。1つだけで結構です。

#include <stdio.h>
int main() {
printf("Hello, World!");
printf("\033[2K\r"); // 清除当前行
return 0;
}

但し、この方法は端末に出力された内容のみクリアできるもので、ファイルや他のデバイスへの出力についてはクリアできません。

bannerAds