2011-05-03 81 views

回答

9

这是很老,但应该仍然工作。转换成汇编语言就留给读者做练习,但不应该是十分困难的(大部分只是函数调用和乘法是微不足道的):

#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); 
} 
+0

:O组合得到了空隙:D真的但是,转换确实是微不足道的。 – Spyros 2011-05-03 07:56:05

+1

最后2条语句,attrib未定义,也不是控制台。我猜控制台是屏幕?但是什么是属性?谢谢。 – 2014-12-06 21:39:26

+0

@UkownUser:看起来代码仍然有一小部分是我最初写这段代码时写的程序遗留下来的。我编辑了独立工作的代码。感谢您的提醒。 – 2014-12-06 22:10:17