Bonjour
J'ai un souci avec ma fonction de conversion de chaîne de caractères en majuscule.
Je souhaite convertir tout texte saisi en texte en majuscules non accentuées pour faciliter les traitements ultérieurs (je ne souhaite pas utiliser les wchar).
J'obtiens des caractères bizarroïdes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 void conv_maj(unsigned char chaine[]) { int i; for (i=0; i<strlen(chaine); i++) { if(chaine[i] >= 'a' && chaine[i] <= 'z') { chaine[i] = toupper(chaine[i]); } else { switch (chaine[i]) { case (unsigned char) 'à': case (unsigned char) 'â': case (unsigned char) 'ä' : chaine[i] ='A' ; break; case (unsigned char) 'ç' : chaine[i] ='C' ; break; case (unsigned char) 'é' : case (unsigned char) 'è' : case (unsigned char) 'ê' : case (unsigned char) 'ë' : chaine[i] ='E' ; break; case (unsigned char) 'î' : case (unsigned char) 'ï' : chaine[i] ='I'; break; case (unsigned char) 'ô' : case (unsigned char) 'ö' : chaine[i] = 'O' ; break; case (unsigned char) 'ù' : case (unsigned char) 'û' : case (unsigned char) 'ü' : chaine[i] = 'U' ; break; default : break; } } } }.
Partager