pdcurses getmaxyx выдает странное предупреждение и затем выключается - PullRequest
0 голосов
/ 07 октября 2018

Начну с того, что я попробовал 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;
}
...