Potrzebuję funkcji C, która zwraca końcową długość sformatowanego ciągu, aby poprawnie przydzielić docelowy ciąg, a nie samemu obliczyć długość. Jest snprintf
, który robi to właśnie na niemożność napisania całego ciągu znaków, ale niestety nie ma dla niego żadnej alternatywy.Czy istnieje wersja wchar_t dla asprintf?
swprintf
zwraca -1 w przypadku błędu, nie potrzebna długość (dlaczego nie to samo zachowanie?!?)
Tytuł wspomniano asprintf
wydaje się być nie pomaga również, gdyż zapewnia non-wide tylko wersja.
_vscwprintf
może być używany w oknach, ale potrzebuję platformy krzyżowej, wersji standardowej lub przynajmniej wersji Linuksa, a ja #odkryję kod.
Wszelkie pomysły? Dzięki!
Wielkie dzięki. Ten hack jest fajny i działa. Ciągle nie rozumiem, dlaczego rzeczy tak proste, jak 'awprintf', nie stają się standardem po dodaniu bardziej skomplikowanych funkcji. – gheorghe1800
Prawdopodobnie dlatego, że standardem jest POSIX i prawie nikt nie kodujący systemów POSIX używa 'wchar_t' z wyjątkiem sytuacji, gdy muszą ... –