C++高效清屏函数?

来源:百度知道 编辑:UC知道 时间:2024/06/16 20:07:04
VC++里的system("cls")是对系统的调用,效率太低了,而且clrscr()又不能用,有没有一个高效的清屏方法,或者输出覆盖呢?请高手指教!

在C++ 里, clrscr(); 可以清屏幕.
头文件 conio.h
函数原形:void clrscr(void)
例子:

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

main()
{printf("test first!\n");
clrscr();
printf("Now, U can't see the first words after clrscr\n");
}

clrscr().这个是turbo C 中的库函数,包含在<conio.h>

不过如果你是C++,那这个函数就用不了了,得自己写一个。

许多人都问这个问题,因为在tc下是有conio.h里的clrscr()清屏函数的。但是在VC下,conio.h里没有clrscr(),只能用system("cls");
或者console功能调用,查MSDN就知道了。
可以写一个这样的函数:
inline void clrscr(void)
{
HANDLE hStdOut=GetStdHandle(STD_OUTPUT_HANDLE);
MyCls(hStdOut);
return;
}
void MyCls(HANDLE hConsole)
{
COORD coordScreen={0,0};//设置清屏后光标返回的屏幕左上角坐标
BOOL bSuccess;
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;//保存缓冲区信息

DWORD dwConS