Path: utzoo!mnetor!uunet!husc6!mailrus!nrl-cmf!cmcl2!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: comp.lang.c Subject: Re: Character handling functions -- Jan 88, dpANS Message-ID: <7571@brl-smoke.ARPA> Date: 28 Mar 88 13:37:22 GMT References: <6192@dhw68k.cts.com> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 15 Keywords: isalpha islower isupper locale confusion In article <6192@dhw68k.cts.com> david@dhw68k.cts.com (David H. Wolfskill) writes: >1) It would seem to be possible for a character -- interpreted in a > locale other than the "C" locale -- to cause isalpha to return > true, yet cause both isupper and islower to fail to return true. Yes, this is right. Not all character sets have a meaningful concept of "case". (Consider Chinese.) Instead of arbitrarily picking either lower or upper (or both), the implementor can simply tell the truth. >2) Similarly, it would seem to be possible for a character to be > able to cause isalpha to fail to return true, and yet cause > either (or both!) of isupper and islower to return true. No, read the specification of isalpha again. islower => isalpha and isupper => isalpha but not the converse.