From: KHMan <kei...@gm...> - 2012-08-31 01:16:24
|
On 8/31/2012 6:01 AM, Manolo wrote: > El 30/08/2012 23:55, Greg Chicares escribió: >> On 2012-08-30 21:35Z, Manolo wrote: >> [...] >>> #include<wctype.h> >>> #include<stdio.h> >>> #include<windows.h> >>> >>> //useless defines >>> #define UNICODE >>> #define _UNICODE >>> >>> int main() >> Does it work as expected if you define those macros first, >> before including any header? >> >> #define UNICODE >> #define _UNICODE >> >> #include<wctype.h> >> #include<stdio.h> >> #include<windows.h> >> > Wether I #define or not, neither where I #define, same [wrong] result. > That's why I wrote "useless defines" True, I guess UNICODE didn't do anything because of the explicit Unicode calls used. Still, there are a lot of tests you could have performed to learn about the behaviour of those calls. I did some testing, and here is what I found on XP: %c worked for me, Euro shown. %C didn't work. Depends on C runtime libs, I suppose. Try dumping a large section of iswalpha() and iswprint() data. Both returned what appeared to be valid data. However, I did not find printable flags in the data files provided by the Unicode Consortium. Try dumping 0x20A0 to 0x20B5, these are the currency symbols currently defined by Unicode. iswprint() returned all zeros. I guess you should find some other way to check for printability... -- Cheers, Kein-Hong Man (esq.) Kuala Lumpur, Malaysia |