【发布时间】:2011-08-17 12:21:46
【问题描述】:
我正在寻找一个清除控制台的win32 api函数,很像cls命令
谢谢!
开发者
【问题讨论】:
我正在寻找一个清除控制台的win32 api函数,很像cls命令
谢谢!
开发者
【问题讨论】:
这已经很老了,但应该仍然有效。转换为汇编语言留给读者作为练习,但应该不会太难(大部分只是函数调用,乘法很简单):
#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);
}
【讨论】:
没有直接清除控制台的 Win32 API - 您需要使用 FillConsoleOutputCharacter 之类的东西。
【讨论】: