J'ecris un programme qui me permette de modifier les informations incluses dans un fichier texte.
Le fichier texte contient deux colonnes, une avec les noms des objets et une autre avec leur valeu associée.
Voici le code que j'ecris
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
 
FILE* CFG;
CFG=fopen(fichCFG,"rt+");	//? il faut que j'ouvre le fichier en modification
if(CFG !=NULL)	// on réussi à lire le fichier (il existe)
 {
 char	valeur[32];		// valeur devant le mot clef
 char	valtmp[4];
 char oneword[32];
 int egalite=0;
 while(!feof(CFG)) // tant qu'on a pas atteint la fin du fichier
 {
    fscanf(CFG,"%s",oneword);
    if(strcmp(oneword, "MotRecherche") == 0) //le mot est trouvé
    {							
      fprintf(CFG,"%s ",ValeurduMot);
     // --j'ai aussi essayé
     //------------   fwrite(ValeurduMot,sizeof(ValeurduMot),1,CFG);
    egalite=1;
    }
}
Lorsque j'execute ce programme, egalite prend la valeur 1, ce qui veut dire que le mot recherché est trouvé.
Mais, je ne comprend pas pourquoi il la nouvelle valeur du mot (ValeurduMot)?
En fait, s'il veut ecrire, devra ecrire à la place de l'ancienne valeur, est ce cela le problème ?
Voici un exemple du contenu de mon fichier txt.
une colonne pour le mot recherché et une deuxième pour sa valeur


  • NomDuHero Tom
    Puissance 4
    Age 36
    CodeArme 37
    CodeLangue FR
    ....