printf a locale

Michal Fikera fikera na queen.math.muni.cz
Čtvrtek Prosinec 7 12:49:01 CET 2000


Dobry den,
nevite nekdo jak prinutit printf, aby tisknul desetina cisla
s teckou at je LC_* nastaveno jakkoli? Dival jsem se do zdrojaku
libc a zadny figl jsem nenasel. Jedine co me funguje, je:

if(getenv("LC_ALL"))
{
  lc_all=strdup(getenv("LC_ALL"));
  setenv("LC_ALL","C",1);
}
printf("%f",1.23456);
if(lc_all)
{
  setenv("LC_ALL",lc_all,1);
  free(lc_all);
}

Krome LC_ALL se samozrejme testuje jeste LC_NUMERIC a LANG.
To me prijde ale takove tezkopadne. Mate nekdo nejaky lepsi napad?


-- 
Michal Fikera                              e-mail: fikera na math.muni.cz



Další informace o konferenci Linux