Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

передача переменного числа параметров в функцию

Аноним
Мне нужно из одной финкции с переменным числом параметров вызвать вызвать другую и передать ей те-же параметры.

Например

void MyClass::my_fun(char *format, ...)
{
//вызов одной из стандартных функций,
//например
fprintf(file, format, /*тут как?*/);
}

Можно ли это вообще сделать?

449
19 ноября 2001 года
Fantasist
124 / / 20.06.2000
Ну смотря, что ты хочешь. Если максимальное число параметров не очень велико, можно сделать так:

int MyFunct(pr1=NULL,pr2=NULL,pr3=NULL)

то есть использовать значения по умолчанию. Если же нет. То можно либо передавать строку, и ее разбивать не параметры, либо передавать указатель на кусок памяти, и считывать уже его.
707
20 ноября 2001 года
Ager
8 / / 20.02.2000
Попробуй так, я так писал в AnsiString для дебага через AnsiStringvprintf(...) в Билдере 5 и 4, но это поддерживается и MS VC++ 6.0, так как поддерживается в ANSI C.

#include <stdarg.h>
void MyClassmy_fun(char *format, ...)
{
va_list ap;

va_start(ap, format);
//это вместо fprintf
vfprintf(file, format, ap);
va_end(ap);
}

[ Это Сообщение было отредактировано Ager в 2001-11-21 1049 ]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог