[ASCII] filtrage des accents
Bonjour,
j'ai écris une fonction qui doit filter certains caractères accentués, seulement celle-ci ne fonctionne pas quand j'utilise les codes décimaux (uniquement ceux > 128 apparemment).
Code:
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
void filterChar(char *strSrc) {
int i=0;
for(i=0; i<strlen(strSrc); i++) {
switch(strSrc[i])
{
case 'é':
case 'è':
case 'ê':
case 'ë':
strSrc[i]='e';
break;
case 'É':
case 'È':
case 'Ê':
case 'Ë':
strSrc[i]='E';
break;
case 'à':
case 'â':
case 'ä':
strSrc[i]='a';
break;
case 'À':
case 'Â':
case 'Ä':
strSrc[i]='A';
break;
case 'ÿ':
strSrc[i]='y';
break;
/*case '':
strSrc[i]='Y';
break;*/
case 'î':
case 'ï':
strSrc[i]='i';
break;
case 'Î':
case 'Ï':
strSrc[i]='I';
break;
case 'ù':
case 'û':
case 'ü':
strSrc[i]='u';
break;
case 'Ù':
case 'Û':
case 'Ü':
strSrc[i]='U';
break;
case 'ô' :
case 'ö' :
case 243 : /* o accent espagnol */
strSrc[i]='o';
break;
case 'Ô' :
case 'Ö' :
case 211 : /* O accent espagnol */
strSrc[i]='O';
break;
case 'ç' :
strSrc[i]='c';
break;
case 'Ç' :
strSrc[i]='C';
break;
case 241 : /* n tilde espagnol */
strSrc[i]='n';
break;
case 209 : /* N tilde espagnol */
strSrc[i]='N';
break;
}
}
} |
En l'occurence les caractères (n tilde espagnol) et (o accent espagnol) ne sont pas remplacés, je ne comprends pas pourquoi !
Merci d'avance!
Re: [ASCII] filtrage des accents
Citation:
Envoyé par tomasha
Bonjour,
j'ai écris une fonction qui doit filter certains caractères accentués, seulement celle-ci ne fonctionne pas quand j'utilise les codes décimaux
http://emmanuel-delahaye.developpez.com/clib.htm
Module ASCII