전 프로그래밍에 완전히 익숙하지 않습니다. 나는 아주 기본적인 Ncurses 게임을 만들려고 노력하고있다. 내 문제는 문자열을 가져 와서 길이를 계산하고 2로 나눈 다음 열의 양을 뺀 매우 복잡한 코드가 있다는 것입니다. 나는 텍스트를 화면 중앙에 배치 할 수 있도록이 작업을 수행합니다. 이 작업을 쉽게 만들려고하지만 Ncurses 함수를 반환하는 함수를 만드는 방법을 모르겠습니다. mvprintw (y, x, string)Ncurses 함수를 반환하는 함수를 만드는 방법
더 잘 이해할 수 있도록 다음은 내 코드입니다.
#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입니다 (''은 쓸모가 없습니다). 귀하의 제목 (귀하의 코드와 관련이없는 *)과 관련하여 C++ 11에서는 [closure] (https://en.wikipedia.org/wiki/Closure_%28computer_programming%29)를 사용하여 * a *를 반환합니다. 함수 (어떤 값으로). 아마도 [lambdas] (http://en.cppreference.com/w/cpp/language/lambda)와 [std :: function] (http://en.cppreference.com/w/cpp/utility/functional/ 함수) –