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