在C语言中,删除打印的多余内容一般可以通过以下几种方式实现:
#include <stdio.h>
int main() {
printf("Hello, World!\r");
return 0;
}
system("cls")
来清屏,在Linux系统中,可以使用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;
}
需要注意的是,以上方法只是在控制台中删除多余内容,而不会实际删除已经打印的内容。如果想要彻底删除已经打印的内容,可以使用清屏函数或者将光标移动到不可见的位置。