Re: Как variadic arguments передать дальше в функцию?
От: Сергей Мухин Россия  
Дата: 18.12.07 13:01
Оценка:
Здравствуйте, Latent Force, Вы писали:

LF>Привет!


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


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

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

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

LF>    return (ret_val);
LF>}

LF>int main(int argc, char *argv[])
LF>{
LF>    return trace_args("Arg1=%s, Arg2=%s, Arg3=%s", "Hello", "world", "!!!");
LF>}

LF>


смотри vprintf
и va_list

вообще то это FAQ
---
С уважением,
Сергей Мухин
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.