1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
typedef unsigned char sdluchar;
int strcasecmp (const char* s1, const char* s2)
{
int c1, c2;
if (s1 == NULL)
return 1;
if (s2 == NULL)
return 1;
while (*s1 && *s2)
{
c1 = isupper ((sdluchar)*s1) ? tolower ((sdluchar)*s1) : *s1;
c2 = isupper ((sdluchar)*s2) ? tolower ((sdluchar)*s2) : *s2;
if (c1 != c2)
return (c1 - c2);
s1++; s2++;
}
/*
if (0)
{
printf("coucou\n");
}
*/
return (((int)(unsigned char)* s1) - ((int)(unsigned char)* s2));
}
int main(void)
{
printf("%d\n", strcasecmp("abc", "def"));
getchar();
return 0;
} |
Partager