#include < windows.h >
void clrscr(void);
void clreol(void);
void clreoscr(void);
void gotoxy(int ,int );
// --- Funktionsimplementierung
/*********************************************************************************/
void clrscr(void) //clearscreen: gesamten Bildschirm leeren
{
CONSOLE_SCREEN_BUFFER_INFO csbiInfo; //variablendklaration
HANDLE hConsoleOut;
COORD Home = {0,0};
DWORD dummy;
hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
FillConsoleOutputCharacter(hConsoleOut,' ',csbiInfo.dwSize.X * csbiInfo.dwSize.Y,Home,&dummy); //bis cursorposition leerzeichen ausgeben
csbiInfo.dwCursorPosition.X = 0; //cursorposition X koordinate festlegen
csbiInfo.dwCursorPosition.Y = 0; //cursorposition Y koordinate festlegen
SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition); //den cursor an die festgelegte koordinate setzen
}
/*********************************************************************************/
void clreol(void) //clear end of line: den rest der Zeile nach dem cursor löschen
{
CONSOLE_SCREEN_BUFFER_INFO csbiInfo; //variablendklaration
HANDLE hConsoleOut;
COORD Home,pos;
DWORD dummy;
hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
Home = csbiInfo.dwCursorPosition;
pos.X = 80 - csbiInfo.dwCursorPosition.X;
FillConsoleOutputCharacter(hConsoleOut,' ',pos.X,Home,&dummy);
}
/*********************************************************************************/
void clreoscr(void) //clear end of screen: alles nach dem cursor löschen
{
CONSOLE_SCREEN_BUFFER_INFO csbiInfo; //variablendklaration
HANDLE hConsoleOut;
COORD Home;
DWORD dummy;
hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
Home=csbiInfo.dwCursorPosition;
FillConsoleOutputCharacter(hConsoleOut,' ',csbiInfo.dwSize.X * csbiInfo.dwSize.Y,Home,&dummy);
}
/*********************************************************************************/
void gotoxy(int x,int y) //cursor an gewuenschte position auf dem bildschirm setzen
{
CONSOLE_SCREEN_BUFFER_INFO csbiInfo; //variablendklaration
HANDLE hConsoleOut;
hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
csbiInfo.dwCursorPosition.X = x; //cursorposition X koordinate festlegen
csbiInfo.dwCursorPosition.Y = y; //cursorposition Y koordinate festlegen
SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition); //den cursor an die festgelegte koordinate setzen
}
几个常用函数,值得注意下