Bonjour ,
Supposons qu'on a un fichier texte : lexique.txt qui contient des données sous la forme :
1 !
2 ?
3 ...
4 julien
5 julo
6 juleno
... etc (c'est a dire sous la forme : code_mot suivi d'un espace suivi du mot.
On veut créer un programme en C qui parcours tt les lignes du fichier lexique.txt et recupere le code_mot et il recupere aussi "calu" = le mot mais en affichant les caracteres du mot (en prenant en compte le codage et le nombre d'octet pour les caraécteres ) !
Donc en Sortie il faut avoir :
code_mot : 1
calu : !
code_mot : 2
calu : ?
code_mot : 3
calu : .
code_mot : 3
calu : .
code_mot : 3
calu : .
code_mot : 4
calu : j
code_mot : 4
calu : u
code_mot : 4
calu : l
code_mot : 4
calu : i
code_mot : 4
calu : e
code_mot : 4
calu : n
j'ai esssayer mais mon code me renvoie toute la ligne et du coup ne respecte pas la sortie demandée :
mon programme m'affiche :
code_mot : 1
calu : !
code_mot : 2
calu : ?
code_mot : 3
calu : ...
code_mot : 4
calu : julien
code_mot : 5
calu : julo
code_mot : 6
calu : julieno
Mon code :
Remarque : le prof a dit qu'il faut lire toute la ligne , recuperer le code_mot et apres recuperer les caracteres du mot avec un buffer et il faut prendre en compte l'encodage des caractères (unicode)
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 #include <stdio.h> int main(){ char *ch[]; int s; int nb; FILE *fichier = NULL; fichier = fopen("lexique.fr", "r"); if (fichier != NULL) { while( (s= fscanf(fichier,"%d %s",&nb,ch)) != -1){ printf("%s\n",ch); } } }
S'il vous plait , aidez moi , j'ai un projet .
Remarque : on recupere les données pour construire un arbre préfixé qui contient les caracteres trié par alphabet et a comme feuille les code mot .
Merci beaucoup
Partager