isprint() a ceske znaky
David ©auer
davids na orfinet.cz
Čtvrtek Červen 3 23:07:47 CEST 1999
>>>> "MS" == Michal Svec <rebel na atrey.karlin.mff.cuni.cz> writes:
MS> Zdravim!
MS> Pokud to spravne chapu, tak pokud mam spravne nastavene ceske
MS> prostredi, mela funkce isprint() vracet na ceske znaky, ze jsou
MS> tisknutelne. Narazil jsem na tu u finger-u, ktery uzivatele s
MS> ceskymi znaky ve jmene oreze i kdyz pouzije isprint(). Je to
MS> chyba/vlastnost funkce/glibc/distribuce (RH6.0 )?
Podpora cestiny je diky (zejmena) Vladimiru Michlovi OK. Pokud finger reze
ceske znaky, pak asi nevola setlocale() [tedy neni spravne nastaveno ceske
prostredi]. Muze to byt tim ?
Pr.: [RH 6.0]
#include <locale.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
int
main ()
{
setlocale (LC_ALL, "");
// tady je Scaron - to pro ty, kteri ctou ascii
printf ("isprint('©'): %d\n", isprint('©'));
printf ("isupper('©'): %d\n", isupper('©'));
printf ("islower('©'): %d\n", islower('©'));
return 0;
}
Vystup: (omlouvam se vsem, kteří tento mail ctou v ASCII)
isprint('©'): 16384
isupper('©'): 256
islower('©'): 0
Cili je to bez problemu.
--
* David Sauer, student of Czech Technical University
* electronic mail: davids na orfinet.cz (mime compatible)
Daląí informace o konferenci Linux