Мне нужна функция C, которая возвращает окончательную длину отформатированной строки, чтобы я мог правильно распределить целевую строку, а не вычислять длину самостоятельно. Существует snprintf
, который делает это только при невозможности написать всю строку, но, к сожалению, для него нет широкой альтернативы char.
swprintf
возвращает -1 в случае ошибки, а не необходимую длину (почему не то же самое поведение?!?)
Упомянутое название asprintf
, похоже, также не поможет, так как предоставляет только неширокую версию.
_vscwprintf
можно использовать в Windows, но мне нужна кроссплатформенная, стандартная версия или хотя бы версия Linux, и я #ifdef для кода.
Есть идеи? Спасибо!