新的nCurses在这里所以原谅我的简单性,但我怎么能使用创建一个窗口通过一个函数,并返回到主?下面是我想要表达的想法。
在这种情况下有什么建议吗?我不确定这样做是否合乎逻辑。
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;
}
你可以像返回其他值一样返回一个指向新窗口的指针:确保返回值与函数的返回类型匹配。
如果你想返回一个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;
}