Bonjour,
Pour m'entraîner en C, je suis en ce moment en train de programmer un jeu d'entraînement au scrabble en console. Je suis sous Windows.
Je veux charger un fichier texte contenant 300 000 mots de la langue française en mémoire, j'y arrive sans soucis.
Seulement, je n'arrive pas à supprimer les accents des caractères.
J'utilise la fonction ASCII_noacc_ansi(int c) de CLIB (ascii.h) qui doit retourner le caractère sans son accent.
Les accents sont toujours là quand j'affiche les mots à l'écran.
Voici la partie de code concernée :
Sauriez-vous d'où peut venir le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 /* i sera incrémenté à chaque ligne lue */ for(i = 0; c != EOF; ++i) { /* on lit les caractères de la ligne jusqu'à l'espace ou la tabulation (on est alors en dehors du mot) */ for(j = 0; (c = fgetc(fichierDico)) != '\t' && c != ' '; ++j) { /* on supprime l'accent du caractère, puis on met en majuscule */ dico[i][j] = toupper(ASCII_noacc_ansi(c)); } /* on passe à la ligne suivante */ while((c = fgetc(fichierDico)) != '\n' && c != EOF); }
Par avance, merci.
Partager