Как обучающий опыт я портирование некоторых вещей из Windows на MacOS и наткнулся на что-то вроде этого:Замена для MS _vscprintf на MacOS/Linux?
void SomeClass::someFunction(const char* format, va_list args)
{
int size = _vscprintf(format, args); // length after formatting
std::string s;
s.resize(size);
vsprintf(&s[0]);
...
}
Теперь, как _vscprintf является Microsoft специфичен и я не нашел ничего похожего на Linux я думал, спросите здесь.
Предположим также, что этот код имеет некоторый критический путь и не должен иметь дополнительных накладных расходов на распределение кучи или такого.
Какая рекомендуемая замена для _vscprintf на MacOS/Linux?
Спасибо!
возможно дубликат [\ _vscprintf эквивалент на Android?] (Http://stackoverflow.com/questions/7825648/vscprintf-equivalent-on-android) – ismail
Там не может быть прямой заменой для функция _vscprintf; но если вы используете его вместе с 'vsprintf' (как в примере' someFunction'), вы можете вместо этого использовать функцию 'asprintf' (если она доступна в вашей системе). – oliver