Я пишу простую программу для вывода правильной (и текущей) ширины и высоты консоли в символах / строках.
#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
GetConsoleScreenBufferInfo(GetStdHandle(STD_INPUT_HANDLE), &csbiInfo);
cout << csbiInfo.dwSize.X;
cout << csbiInfo.srWindow.Bottom - csbiInfo.srWindow.Top;
system("PAUSE");
}
Однако, хотя GetStdHandle не возвращает INVALID_HANDLE_VALUE, GetConsoleScreenBufferInfo завершается ошибкой (возвращается 0) с кодом ошибки 0x6 (неверный дескриптор)
Я также пытался использовать GetConsoleWindow (); вместо GetStdHandle безрезультатно.
Я использую Windows 10 и VS2017. У меня возникает ощущение, что я могу быть либо над головой, либо пытаться сделать что-то слишком специфичное для системы.
Заранее спасибо за любые решения / альтернативы.