C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Q: Locale independant way to process special chars

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language (comp.lang.c++)
View previous topic :: View next topic  
Author Message
Jakob Bieling
Guest





PostPosted: Sun Aug 29, 2004 4:22 pm    Post subject: Q: Locale independant way to process special chars Reply with quote



Hi,

Did not really know a short subject line, which describes my question
better. I want to figure out, if a specific character is an alphabetic
character, without having to be locale specific. For example, even tho the
Umlaut a (ie. 'ä') is not in part of the English alphabet, it is part of the
German alphabet. Despite that, I would like the Umlaut a to be recognised as
an alphabetic character, without having to switch locales; otherwise, I
would have to loop thru all different locales, just to find out, if a
character is part of the alphabet of any of these.

Tho my documentation tells me that 'for iswalpha, the result of the test
condition is independent of locale', it still returns 0 for the Umlaut a. Is
my C++ implementation broken or did I just misunderstand something?

Thanks!
--
jb

(reply address in rot13, unscramble first)


Back to top
David Hilsee
Guest





PostPosted: Sun Aug 29, 2004 8:55 pm    Post subject: Re: Locale independant way to process special chars Reply with quote



"Jakob Bieling" <argfhesNGtzkQBGarg (AT) rot13 (DOT) com> wrote

Quote:
Hi,

Did not really know a short subject line, which describes my question
better. I want to figure out, if a specific character is an alphabetic
character, without having to be locale specific. For example, even tho the
Umlaut a (ie. 'ä') is not in part of the English alphabet, it is part of
the
German alphabet. Despite that, I would like the Umlaut a to be recognised
as
an alphabetic character, without having to switch locales; otherwise, I
would have to loop thru all different locales, just to find out, if a
character is part of the alphabet of any of these.

I would be surprised if there were a single standard function call that did
what you need to do. It sounds like an odd bit of functionality that most
people would never use. Why would you want to know if a character is an
alpabetic character in any locale? Is a loop not feasible?

Quote:
Tho my documentation tells me that 'for iswalpha, the result of the
test
condition is independent of locale', it still returns 0 for the Umlaut a.
Is
my C++ implementation broken or did I just misunderstand something?

I would assume that this means that, for any input, the return value of
iswalpha will not change when the current locale changes.

--
David Hilsee



Back to top
David Hilsee
Guest





PostPosted: Sun Aug 29, 2004 9:23 pm    Post subject: Re: Locale independant way to process special chars Reply with quote



"Jakob Bieling" <argfhesNGtzkQBGarg (AT) rot13 (DOT) com> wrote

<snip>
Quote:
Tho my documentation tells me that 'for iswalpha, the result of the
test
condition is independent of locale', it still returns 0 for the Umlaut a.
Is
my C++ implementation broken or did I just misunderstand something?

FWIW, std::iswalpha(L'ä') returned true on VS.NET 2003 Win2K Pro.

--
David Hilsee



Back to top
Jakob Bieling
Guest





PostPosted: Mon Aug 30, 2004 8:38 am    Post subject: Re: Locale independant way to process special chars Reply with quote

"David Hilsee" <davidhilseenews (AT) yahoo (DOT) com> wrote

Quote:
"Jakob Bieling" <argfhesNGtzkQBGarg (AT) rot13 (DOT) com> wrote in message
news:cgsvr6$c0g$04$1 (AT) news (DOT) t-online.com...
snip
Tho my documentation tells me that 'for iswalpha, the result of the
test
condition is independent of locale', it still returns 0 for the Umlaut
a.
Is
my C++ implementation broken or did I just misunderstand something?

FWIW, std::iswalpha(L'ä') returned true on VS.NET 2003 Win2K Pro.


Ah, thanks for the hint. My fault, I passed a char without converting to
unsigned first, so the sign was expanded in the implicit conversion, which
made it return 0. It all works now, thanks! Smile
--
jb

(reply address in rot13, unscramble first)



Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language (comp.lang.c++) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.