Мне нужна функция C, которая возвращает конечную длину форматированной строки, чтобы я мог правильно выделить целевую строку, а не вычислять длину самостоятельно. Существует snprintf
, который делает это только после невозможности написать всю строку, но, к сожалению, для нее нет широкой альтернативы.Есть ли версия wchar_t для asprintf?
swprintf
возвращает -1 в случае ошибки, не нужно длина (почему не такое же поведение?!?)
Названные упоминаются asprintf
, кажется, не помогают также, поскольку она обеспечивает не широкоформатную версия только.
_vscwprintf
можно использовать на окнах, но мне нужна кроссплатформенная, стандартная версия или, по крайней мере, версия для Linux, и я буду #ifdef кода.
Любые идеи? Благодаря!
Большое спасибо. Этот хак хорош, и он действительно работает. Я все еще не понимаю, почему такие простые вещи, как 'awprintf', не доходят до стандарта, когда добавляются более сложные функции. – gheorghe1800
Наверное, потому, что стандартом является POSIX, и почти никто не кодирует системы POSIX, использует 'wchar_t', за исключением случаев, когда они ... –