이것은 여러 가지 다른 방식으로 부탁되었습니다. 그러나 나는 아직도 그것을 작동시키지 못합니다. 다음은 함수 정의입니다.ncurses 앞으로 전달되는 Variadic 인수 목록
void
ncurses_add_line(const char *fmt, ...)
{
if (ncurses_window) {
va_list args;
va_start(args, fmt);
printw(fmt, args);
printw("\n");
va_end(args);
}
}
이 함수를 호출하면 함수의 가변 인쇄에서 횡설수설합니다. printw
으로 직접 전화하면 모든 것이 작동합니다. 예를 들어 과 같은 ncurses_add_line
을 호출하면 값이 var에 저장되지 않습니다. 그러나 printw("Hello %d", var)
을 호출하면 "Hello"옆에 var 값이 표시되고 var == 1이면 "Hello 1"이 printw
으로 인쇄되지만 ncurses_add_line
의 경우는 그렇지 않습니다.
무엇을 변경해야합니까?
내 머리글 파일에 내 C 파일에만 포함하고 싶지 않기 때문에 필자가이 문제를 해결할 이유가 있습니다.