Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 2008
-
1 févr. 2006 à 14:47
Liteon14000 -
21 avril 2014 à 20:27
Bonjour,
Je lis des données depuis un fichier texte oridinaire, donc contenant des accents é è à ù ï î ê û etc, non affichables sur la console.
Existe-t-il une fonction qui remplace ces caractères non commun par leur équivalent simple le plus proche ({é,è,ë,ê}->e, {ù,û,ü}->u, etc) ?
C'est facile à refaire mais s'il existe déja une fonction...
Galmiza
Messages postés573Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention 9 avril 20081 1 févr. 2006 à 15:00
En gros un truc du genre mais avec toutes les possibilités.
// KillAccents
void KillAccents(char *pStr)
{
while (*pStr)
{
switch (*pStr)
{
// Low case
case 'à':
case 'â':
case 'ä':
*pStr = 'a';
break;
case 'é':
case 'è':
case 'ë':
case 'ê':
*pStr = 'e';
break;
case 'î':
case 'ï':
*pStr = 'i';
break;
case 'ô':
case 'ö':
*pStr = 'o';
break;
case 'ù':
case 'û':
case 'ü':
*pStr = 'u';
break;
case 'ç':
*pStr = 'c';
break;
case 'ñ':
*pStr = 'n';
break;
// Upper case
case 'Â':
case 'Ä':
*pStr = 'A';
break;
case 'Ê':
case 'Ë':
*pStr = 'E';
break;
case 'Î':
case 'Ï':
*pStr = 'I';
break;
case 'Ô':
case 'Ö':
*pStr = 'O';
break;
case 'Û':
case 'Ü':
*pStr = 'U';
break;