Mdifier une ligne d'un fichier texte

Fermé
mast20 Messages postés 12 Date d'inscription mercredi 2 mars 2016 Statut Membre Dernière intervention 1 mai 2016 - 28 mars 2016 à 19:13
mast20 Messages postés 12 Date d'inscription mercredi 2 mars 2016 Statut Membre Dernière intervention 1 mai 2016 - 29 mars 2016 à 00:54
Bonjour, si quelq'un peut me corriger les fautes . ecrire une fonction qui modifie le titre d un projet (le projet est une structure caractérisé par code étudiant ,nom,titre de projet)

typedes struct
{ int code ;
char nom [20];
char titre [20];
}prj;

voici ce que j ai ecrit :
int modificationtitre(int code)
{FILE *f=NULL ; prj x;
f=fopen("pf.bin","rb");
if(f==NULL)
{printf("erreur");exit(1);}
fread(&x,sizeof(prj),1,f)
do
{if(c==x.code)
{
printf("entrer le nouveau titre");
gets(x.titre);
fseek(f,sizeof(prj),SEEK_CUR);
fwrite(&x,sizeof(prj),1,f);
return 0;\\ modification est faite\\
fread(&x,sizeof(prj),1,f);
}while(!feof(f));
fclose(f)
return -1;\\modification n est pas faite\\
}



A voir également:

1 réponse

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
29 mars 2016 à 00:09
Bonjour,
Pour pouvoir modifier un fichier binaire, il faut l'ouvrir en "r+b" plutôt qu'en "rb".
Pour 'reculer' d'un bloc, il faut faire fseek(f,-sizeof(prj),SEEK_CUR); plutôt que fseek(f,sizeof(prj),SEEK_CUR);
Avant de faire return 0; il est hautement conseillé de fermer le fichier.
Il manque une accolade fermante après le return 0;
Il manque des points-virgules.
0
mast20 Messages postés 12 Date d'inscription mercredi 2 mars 2016 Statut Membre Dernière intervention 1 mai 2016
29 mars 2016 à 00:54
merci
0