Visual C++中使用gotoxy() / clrscr()等函数
//VisualC++中使用gotoxy()/clrscr()等函数
#include<windows.h>
voidclrscr(void);
voidclreol(void);
voidclreoscr(void);
voidgotoxy(int,int);
voidclrscr(void)
{
CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;
HANDLEhConsoleOut;
COORDHome={0,0};
DWORDdummy;
hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
FillConsoleOutputCharacter(hConsoleOut,'',csbiInfo.dwSize.X*csbiInfo.dwSize.Y,Home,&dummy);
csbiInfo.dwCursorPosition.X=0;
csbiInfo.dwCursorPosition.Y=0;
SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);
}
/*********************************************************************************/
voidclreol(void)
{
CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;
HANDLEhConsoleOut;
COORDHome,pos;
DWORDdummy;
hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
Home=csbiInfo.dwCursorPosition;
pos.X=80-csbiInfo.dwCursorPosition.X;
FillConsoleOutputCharacter(hConsoleOut,'',pos.X,Home,&dummy);
}
/*********************************************************************************/
voidclreoscr(void)
{
CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;
HANDLEhConsoleOut;
COORDHome;
DWORDdummy;
hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
Home=csbiInfo.dwCursorPosition;
FillConsoleOutputCharacter(hConsoleOut,'',csbiInfo.dwSize.X*csbiInfo.dwSize.Y,Home,&dummy);
}
/*********************************************************************************/
voidgotoxy(intx,inty)
{
CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;
HANDLEhConsoleOut;
hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);
csbiInfo.dwCursorPosition.X=x;
csbiInfo.dwCursorPosition.Y=y;
SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);
}