У меня есть следующий код:Как добавить аргумент в va_list
int __dmasprintf (char **s, const char *format, ...) {
char buf[512];
va_list arg;
int ret;
va_start(arg,format);
ret = vsprintf(buf, format, arg);
va_end(arg);
*s = strdup(buf);
if (*s == NULL) return -1;
return 0;
}
Я хочу, чтобы добавить аргумент в va_list
arg
перед вызовом vsprintf()
, потому что мой format
содержит 1 дополнительный аргумент в конце.
Как добавить аргумент (например, char * myarg
) в va_list
arg
?
Или можно передать vsprintf()
индивидуальный список?
Это макросы. Вы не можете изменить список. – Olaf
@Olaf Можно ли перейти к vsprintf настроенному списку? – MOHAMED
Является ли ваш код скомпилирован компилятором [tag: c] или [tag: C++], или он должен работать в обоих? – Yakk