Это предложение задано в нескольких разных вариантах. Но я все еще не могу заставить его работать. Вот мое определение функции.Переслать Variadic Список аргументов в ncurses printw function in c
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
, как ncurses_add_line("Hello %d", var)
Я получаю значение не хранить в var. Однако, если я вызываю printw("Hello %d", var)
, я вижу значение var, отображаемое рядом с «Hello», как в, если var == 1, тогда «Hello 1» печатается с printw
, но это не относится к ncurses_add_line
.
Что мне нужно изменить?
Моей причиной для этого является то, что я не хочу включать в свой заголовочный файл только в моем c-файле.