Jak w konsoli to sprawa jest nieco zagmatwana, przykładowy kod wygląda następująco:
#include <iostream>
#include <windows.h>
int main(){
char c = 0;
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); // potrzebujesz uchwytu
SMALL_RECT sr;
sr.Left = 0;
sr.Top = 0;
sr.Right = 49;
sr.Bottom = 49;
SetConsoleWindowInfo(handle,true,&sr); // ustawiasz szerokość okna na 50 x 50 (w szerokościach i wysokościach znaku pojedynczego a nie w pikselach)
CONSOLE_SCREEN_BUFFER_INFO sbi; // struktura opisująca okno
GetConsoleScreenBufferInfo(handle, &sbi); // pobieranie informacji o oknie
std::cout<<"szerokosc: "<<sbi.srWindow.Right - sbi.srWindow.Left + 1<<" wysokosc: "<<sbi.srWindow.Bottom - sbi.srWindow.Top + 1; // wyświetlanie wysokości i szerokości okna
std::cin>>c;
return 1;
}
Tutaj szerokość jest liczona w szerokości pojedynczego znaku. A wysokość w wysokościach pojedynczego znaku.
Edit:
W sumie można zrobić to tak:
HWND hwnd = GetConsoleWindow();
RECT r;
GetWindowRect(hWnd, &r);
I dalej już jak Szymon Siarkiewicz napisał, wtedy będziesz miał rozmiar okna w px.