Как variadic arguments передать дальше в функцию?
От: Latent Force  
Дата: 18.12.07 12:55
Оценка:
Привет!

Подскажите, плиз, а то совсем запутался. Дано GNU libc. Требуется написать функцию, в которую передается переменное число аргументов, и затем эти аргументы передаются целиком дальше, уже в другую функцию с переменным числом аргуметнов. Собственно как написать ф-цию с переменным числом аргументов не проблема, проблема в том как их подставить в точно такую же функцию.

static int trace_args(char *fmt, ...)
{
    int ret_val = 0;

    /* тут мы что-то поделали и теперь
     * хотим вывести на печать строку */

    printf(fmt, /* а вот сюда хочется подставить остальные аргументы, которые ... */);

    return (ret_val);
}

int main(int argc, char *argv[])
{
    return trace_args("Arg1=%s, Arg2=%s, Arg3=%s", "Hello", "world", "!!!");
}
----------------------
Одно из свойств человеческого ума состоит в том, что, сталкиваясь с противоречием, он не может оставаться пассивным.
Э. Фромм.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.