防止控制台闪屏语句代码:直接拿来用就好了,不要去专研里面语句的一些基本用法,实在是没有必要
以下代码放到主函数开头部分

/获取默认标准显示缓冲区句柄
	HANDLE hOutput;
	COORD coord = { 0, 0 };
	hOutput = GetStdHandle(STD_OUTPUT_HANDLE);

	//创建新的缓冲区
	HANDLE hOutBuf = CreateConsoleScreenBuffer(
		GENERIC_READ | GENERIC_WRITE,
		FILE_SHARE_READ | FILE_SHARE_WRITE,
		NULL,
		CONSOLE_TEXTMODE_BUFFER,
		NULL
	);

	//设置新的缓冲区为活动显示缓冲
	SetConsoleActiveScreenBuffer(hOutBuf);

	//隐藏两个缓冲区的光标
	CONSOLE_CURSOR_INFO cci;
	cci.bVisible = 0;
	cci.dwSize = 1;
	SetConsoleCursorInfo(hOutput, &cci);
	SetConsoleCursorInfo(hOutBuf, &cci);

	//双缓冲处理显示
	DWORD bytes = 0;
	char data[3200];

最后两行代码放到主函数末尾(主函数前一个大括号里面)

ReadConsoleOutputCharacterA(hOutput, data, 3200, coord, &bytes);
WriteConsoleOutputCharacterA(hOutBuf, data, 3200, coord, &bytes);

更多推荐