⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_conio.h

📁 为编译原理课程设计
💻 H
字号:
#ifndef _MY_CONIO_H_FILE_INCLUDED 
#define _MY_CONIO_H_FILE_INCLUDED 

#include<stdio.h> 
#include<conio.h> 
#include<windows.h> 

#define PERR(bSuccess,api) {if(!(bSuccess)) printf("%s:Error %d from %s on line %d\n",__FILE__,GetLastError(),api,__LINE__);} 

void MyCls(HANDLE);
void GotoConsoleXY(HANDLE,int,int);

void clrscr()
{
HANDLE hStdOut=GetStdHandle(STD_OUTPUT_HANDLE);
MyCls(hStdOut); 
return;
}

void gotoxy(int x,int y) 
{ 
HANDLE hStdOut=GetStdHandle(STD_OUTPUT_HANDLE); 
GotoConsoleXY(hStdOut,x,y); 
return; 
} 

void MyCls(HANDLE hConsole) 
{ 
COORD coordScreen={0,0};//设置清屏后光标返回的屏幕左上角坐标 
BOOL bSuccess; 
DWORD cCharsWritten; 
CONSOLE_SCREEN_BUFFER_INFO csbi;//保存缓冲区信息 

DWORD dwConSize;//当前缓冲区可容纳的字符数 

bSuccess=GetConsoleScreenBufferInfo(hConsole,&csbi);//获得缓冲区信息 
PERR(bSuccess,"GetConsoleScreenBufferInfo"); 
dwConSize=csbi.dwSize.X * csbi.dwSize.Y;//缓冲区容纳字符数目 

//用空格填充缓冲区 
bSuccess=FillConsoleOutputCharacter(hConsole,(TCHAR)' ',dwConSize,coordScreen,&cCharsWritten); 
PERR(bSuccess,"FillConsoleOutputCharacter"); 

bSuccess=GetConsoleScreenBufferInfo(hConsole,&csbi);//获得缓冲区信息 
PERR(bSuccess,"ConsoleScreenBufferInfo"); 

//填充缓冲区属性 
bSuccess=FillConsoleOutputAttribute(hConsole,csbi.wAttributes,dwConSize,coordScreen,&cCharsWritten); 
PERR(bSuccess,"FillConsoleOutputAttribute"); 

//光标返回屏幕左上角坐标 
bSuccess=SetConsoleCursorPosition(hConsole,coordScreen); 
PERR(bSuccess,"SetConsoleCursorPosition"); 
return; 
} 

void GotoConsoleXY(HANDLE hConsole,int x,int y) 
{ 
COORD coordScreen={x,y}; 
SetConsoleCursorPosition(hConsole,coordScreen); 
return; 
} 

#endif //_MY_CONIO_H_FILE_INCLUDED

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -