Portál AbcLinuxu, 26. října 2025 18:04
Dobrý den,
mám spíš teoretický dotaz. Pokud budu interně (v rámci GNU C Library) používat datový typ wchar_t pro práci se znaky/řetězci, tzn. budu znaky/řetězce prefixovat pomocí L, tak funkce typu fwprintf budou v mém případě, kdy $LANG=cs_CZ.UTF-8, zapisovat do souboru v kódování UTF-8? Jinak se jedná o Arch Linux.
Předem díky za reakce.
Řešení dotazu:
wchar_t buf[100];
...
setlocale(LC_ALL,""); // set locale based on environment variables
f=fopen("foo.dat","wt"); // open the output in text mode
fwide(f,1); // set orientation of the output file handle to "wide char". this seems to be optional
fwprintf(f,L"%ls",buf); // use modifier l in the format string
Pozor na to, že už raz nastavenú orientáciu nemožno zmeniť.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.