Necesito una función C que devuelva la longitud final de una cadena formateada para poder asignar correctamente la cadena objetivo, en lugar de calcular la longitud yo mismo. Hay snprintf
que hace esto al no poder escribir toda la cadena, pero lamentablemente no hay una amplia alternativa de char para ella.¿Hay una versión de wchar_t para asprintf?
swprintf
devuelve -1 en caso de error, no la longitud necesaria (por qué no el mismo comportamiento?!?)
El título menciona asprintf
parece ser de ninguna ayuda también, ya que proporciona una amplia no solo versión
_vscwprintf
puede usarse en Windows, pero necesito una plataforma cruzada, una versión estándar o, al menos, una versión de Linux y voy a #ifdef el código.
¿Alguna idea? ¡Gracias!
Muchas gracias. Este truco es bueno y realmente funciona. Todavía no entiendo por qué cosas tan simples como 'awprintf' no llegan al estándar cuando se agregan características más complicadas. – gheorghe1800
Probablemente porque el estándar en cuestión es POSIX y casi nadie codifica para sistemas POSIX usa 'wchar_t' excepto cuando tienen que ... –