Получение размер терминала в c для Windows?

Как проверить ymax и xmax в окне консоли под Windows, используя простой c?

Вот этот фрагмент кода для Linux:

#include 
#include 
int main (void)
{
    struct winsize max;
    ioctl(0, TIOCGWINSZ , &max);
    printf ("lines %d\n", max.ws_row);
    printf ("columns %d\n", max.ws_col);
}

Теперь мне интересно, как я могу сделать то же самое для окна. Я пробовал winioctl.h , но он не определяет struct winsize или какую-либо другую с похожим именем.

Какие-нибудь советы? Спасибо.

PS. В Linux вы также можете узнать размер консоли, используя getenv ("LINES"); . Есть ли подобная переменная под windows?

PPS. Кроме того, всегда есть ncurses.h , который, я полагаю, работает в обеих системах, но я избегаю этого из-за конфликтов с другими имеющимися у меня библиотеками.

PPPS. В этом вопросе Получение ширины терминала в C? есть много советов, поэтому нет необходимости повторять это.

17
задан Community 23 May 2017 в 11:54
поделиться