C言語で不必要な印字内容を削除する方法
C 言語で、プリントの余分なコンテンツを削除する方法をいくつか説明します。
- エスケープ文字を利用する:文字列を出力する際に、エスケープ文字を使うことで余計な出力を省くことができます。例えば「\r」を使うことでカーソルが行頭に戻り、その後に必要な内容を出力することができます。
#include <stdio.h>
int main() {
printf("Hello, World!\r");
return 0;
}
- system(“cls”)
- system(“clear”)
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("Hello, World!");
system("cls"); // 清屏
return 0;
}
- SetConsoleCursorPosition
- FillConsoleOutputCharacter
#include <stdio.h>
#include <windows.h>
int main() {
printf("Hello, World!");
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = { 0, 0 };
SetConsoleCursorPosition(hConsole, pos); // 将光标移动到(0, 0)
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hConsole, &csbi); // 获取屏幕缓冲区信息
DWORD numCharsWritten;
FillConsoleOutputCharacter(hConsole, ' ', csbi.dwSize.X * csbi.dwSize.Y, pos, &numCharsWritten); // 清除多余内容
return 0;
}
コンソールに表示された不要な記録を削除する方法は残っていますが、既に作成されたログを削除する方法は表示されません。ログの削除は、画面のクリアまたは表示範囲外へのカーソルの移動など、他の方法で実行する必要があります。