Здравствуйте, 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