Переменное число аргументов, потоковый вывод
От: Аноним  
Дата: 20.03.09 13:07
Оценка:
Хочу написать функцию, принимающую аргументы const char *format, ... (как printf). Функция должна выполнять форматированный вывод в std::string.
Как это сделать? Хелп! )
Re: Переменное число аргументов, потоковый вывод
От: vopl Россия  
Дата: 20.03.09 15:06
Оценка: +2
Здравствуйте, Аноним, Вы писали:

А>Хочу написать функцию, принимающую аргументы const char *format, ... (как printf). Функция должна выполнять форматированный вывод в std::string.

А>Как это сделать? Хелп! )

Ключевые слова va_arg, va_end, va_start, va_list
Погугли — информации много

Можно взять исходник sprintf и подправить его для std::string.. или тупо обертку над vsnprintf
Re: Переменное число аргументов, потоковый вывод
От: Кодт Россия  
Дата: 20.03.09 17:14
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Хочу написать функцию, принимающую аргументы const char *format, ... (как printf). Функция должна выполнять форматированный вывод в std::string.


1) boost::format
2) обвязка вокруг sprintf
3) можно, конечно, и рукоделием заняться — самому парсить строку формата, разгребать va_list или expression templates (я за ET, там можно обеспечить безопасность)
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.