wcscasecmp and wcsncasecmp not available? March 03, 2009 12:49PM | Registered: 15 years ago Posts: 78 |
Re: wcscasecmp and wcsncasecmp not available? March 03, 2009 05:54PM | Registered: 15 years ago Posts: 441 |
Re: wcscasecmp and wcsncasecmp not available? March 04, 2009 09:43AM | Registered: 15 years ago Posts: 78 |
int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) { while (n--) { wint_t c1 = towlower(*s1); wint_t c2 = towlower(*s2); wint_t diff = c1 - c2; if (diff != 0) { return diff; } if (!c1) { return 0; } ++s1; ++s2; } return 0; }
wchar_t s1[4] = { 0x00C0, 0x00C8, 0x00D2, '\0'}; /* ÀÈÒ */ wchar_t s2[4] = { 0x00E0, 0x00E8, 0x00F2, '\0'}; /* àèò */ if (wcsncasecmp(s1, s2, 3) == 0) { printf("wcsncasecmp of %ls and %ls match", s1, s2); } else { printf("wcsncasecmp of %ls and %ls do not match", s1, s2); }outputs: wcsncasecmp of ÀÈÒ and àèò match