pdcurses getmaxyx发出一个奇怪的警报,然后关闭

时间:2018-10-07 20:40:01

标签: c++ pdcurses

首先,我尝试了pdcurses36并在编译时遇到了麻烦,因此我恢复使用pdcurses34,我设法在mingw和代码块中进行了编译。我正在使用Windows 10。

因此,我编写了强制性的hello world程序,该程序起作用了,然后我添加了一个窗口,该程序就起作用了。

但是,当我用getmaxyx添加该行时,它会发出警报,然后关闭。它发出的警报是“没有当前窗口时尝试进行绘制操作”。

getmaxyx在initscr()之后,所以我看不到为什么它不起作用。我还在linux中使用过ncurses,并且相同的命令也可以正常工作。

我不明白该警报,因为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;
}

0 个答案:

没有答案