В качестве учебного опыта я переношу некоторые вещи из Windows на MacOS и наткнулся на что-то вроде этого:
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?
Спасибо!