我正在寻找一个清除控制台的win32 api函数,就像cls
命令一样
谢谢!
Devjeet
答案 0 :(得分:12)
这已经很老了,但是应该仍然有效。转换为汇编语言留给读者练习,但不应该非常困难(大多数只是函数调用,乘法很简单):
#include <windows.h>
void clear_screen(char fill = ' ') {
COORD tl = {0,0};
CONSOLE_SCREEN_BUFFER_INFO s;
HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(console, &s);
DWORD written, cells = s.dwSize.X * s.dwSize.Y;
FillConsoleOutputCharacter(console, fill, cells, tl, &written);
FillConsoleOutputAttribute(console, s.wAttributes, cells, tl, &written);
SetConsoleCursorPosition(console, tl);
}
答案 1 :(得分:4)
没有直接清除控制台的Win32 API - 您需要使用类似FillConsoleOutputCharacter的内容。