2011-05-03 80 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