Ncurses 函数创建 Window

Ncurses function to create a Window

这里是 nCurses 的新手,所以请原谅我的简单性,但是我如何通过函数创建 Window 并将其 return 用于 Main?以下是我正在尝试创建的想法。

在这种情况下有什么提示吗?不确定这是否合乎逻辑。

char createwindow();

int main()
{
     initscr();

     createwindow(border);

     wgetch(border);
     endwin();
     return 0;  
}

char createwindow(char _temp)
{   
    WINDOW *temp=newwin(30,30,30,30);
    box(temp,0,0);
    return temp;
}

您可以 return 一个指向新 window 的指针,就像您可以 return 任何其他值一样: 确保您的 return 值与函数的 return 类型匹配。

如果你想return一个WINDOW*改变你的功能如下:

WINDOW *createwindow(char _temp)
{
    WINDOW *temp=newwin(30,30,30,30);
    box(temp,0,0);
    return temp;
}

然后您可以将该函数的结果存储在调用函数中:

WINDOW *newwindow = createwindow(border);

根据您的提示找到解决方案并按如下方式进行:


WINDOW* createwindow(); //Prototype function

main() 
{
   WINDOW *border = createwindow();
}

WINDOW* createwindow() 
{   
    int ymax,xmax;
    getmaxyx(stdscr,ymax,xmax);
    WINDOW *temp=newwin(ymax-1,xmax-1,1,1);
    box(temp,0,0);
    return temp;
}