【发布时间】:2017-03-26 04:18:51
【问题描述】:
我对编程完全陌生。我正在尝试制作一个非常基本的 Ncurses 游戏。我的问题是我有一些非常重复的代码,我在其中获取一个字符串,计算它的长度,将其除以 2,然后从列数中减去。我这样做是为了让我的文本在屏幕上居中。我想通过制作一个函数来使这更容易,但我不知道如何制作一个返回 Ncurses 函数 mvprintw(y,x,string) 的函数
这是我的代码,以便您更好地理解:
#include <iostream>
#include <ncurses.h>
#include <string.h>
int main(){
initscr();
int x,y;
getmaxyx(stdscr, y, x);
mvprintw(0,x/2-(strlen("************")/2), "************");
mvprintw(1,x/2-(strlen("Welcome")/2), "Welcome");
mvprintw(2,x/2-(strlen("************")/2), "************");
refresh();
getch();
endwin();
return 0;
}
【问题讨论】:
-
你的代码是 C(除了
<iostream>是没用的)。关于您的标题(与您的代码无关),在 C++11 中,您将使用 closures 来 return 一个函数(作为某个值)。可能与lambdas & std::function
标签: c++ function types return ncurses