7
A
回答
6
These guys展示如何做到这一点:
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
HANDLE hOut;
CONSOLE_SCREEN_BUFFER_INFO SBInfo;
COORD NewSBSize;
int Status;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hOut, &SBInfo);
NewSBSize.X = SBInfo.dwSize.X - 2;
NewSBSize.Y = SBInfo.dwSize.Y;
Status = SetConsoleScreenBufferSize(hOut, NewSBSize);
if (Status == 0)
{
Status = GetLastError();
cout << "SetConsoleScreenBufferSize() failed! Reason : " << Status << endl;
exit(Status);
}
GetConsoleScreenBufferInfo(hOut, &SBInfo);
cout << "Screen Buffer Size : ";
cout << SBInfo.dwSize.X << " x ";
cout << SBInfo.dwSize.Y << endl;
return 0;
}
3
你需要让控制台屏幕缓冲区的大小与控制台窗口相同。使用GetConsoleScreenBufferInfo,srWindow成员获取窗口大小。使用SetConsoleScreenBufferSize()设置缓冲区大小。