Начну с того, что я попробовал pdcurses36 и столкнулся с трудностями при его компиляции, поэтому я вернулся к использованию pdcurses34, который мне удалось скомпилировать в mingw и codeblocks.Я использую Windows 10.
Итак, я написал обязательную программу hello world, и она сработала, а затем я добавил окно, и это сработало.
Однако, когда я добавил строку с getmaxyx, она ставитдо оповещения и затем выключается.Он выдает предупреждение «Операция рисования была предпринята, когда не было текущего окна».
getmaxyx - после initscr (), поэтому я не могу понять, почему она не работает.Я также использовал ncurses в linux, и та же команда отлично работает.
Я не понимаю предупреждение, поскольку getmaxyx фактически ничего не рисует, но должно получить размеры окна консоли, которые мне действительно нужны.
Вот мой код
#include <iostream>
#include <curses.h>
int main(){
initscr();
resize_term(200,50);
// cbreak();//Lets user use control and break
// noecho();//Stops text echoing
int height,width,start_y,start_x;
height=10;
width=80;
start_y=start_x=0;
WINDOW * win = newwin(height, width, start_y, start_x);
refresh();
box(win,0,0);
mvwprintw(win,1,1,"Text in a box");
wrefresh(win);
int ymax,xmax;
getmaxyx(stdscr,ymax,xmax);//height and width
printw("%d",ymax);
getch();
endwin();
return 0;
}