Péreniser une liste dans une fichier

Fermé
geninfo Messages postés 6 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 28 novembre 2007 - 27 nov. 2007 à 21:58
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 - 29 nov. 2007 à 17:50
Bonjour,
Excuse moi je suis entrain d'écrire un programme en C sur Visual C++ , et je voudrai péreniser le contenu de ma liste chaine dans un fichier en binaire si vous avez une idée aidez-moi
Merci
A voir également:

9 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
27 nov. 2007 à 23:26
pour metre ta liste chaine dans un fichier tu peux utiliser la fonction fwrite et tu ajoute chaque element de la liste comme ça
0
geninfo Messages postés 6 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 28 novembre 2007
27 nov. 2007 à 23:38
merci de ta reponce mais je sais pas comment le faire,t'as pas un exemple complet ?
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
27 nov. 2007 à 23:55
voila un exemple c'est une fonction pour inserer une liste chainee dans un fichier en mode binaire

void save(struct exemple *p) {
    FILE *f=fopen("fichier","wb");
    while(p){
        fwrite((char *) p,sizeof(struct exemple),1,fichier);
        p=p->suiv;
    }
    fclose(fichier);
}
0
geninfo Messages postés 6 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 28 novembre 2007
28 nov. 2007 à 03:15
merci pour ta reponce.en fait j ai fait une fonction pour enregistrer dans un fichier binaire et je sais pas cmt faire la fonction pour lire a partir d un fichier binaire c ca ma fonction enregstrer...


void EcrireFichier(voiture v)
{
voiture pc;
FILE *fichier;
pc=v;
fichier=fopen(NomFichier,"w");
if(v==NULL)
{
fclose(fichier);
}
while(pc!=NULL)
{
fprintf(fichier,"%d\n",pc->puissance);
fprintf(fichier,"%f\n",pc->prix);
fprintf(fichier,"%s\n",pc->marque);
fprintf(fichier,"%s\n",pc->modele);
pc=pc->suivant;
}
fclose(fichier);
}


j ai besoin d aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
28 nov. 2007 à 03:35
je pense pas que ta fonction pour enregistrer marche essaye plutot ça

void EcrireFichier(voiture *v) 
{ 

FILE *fichier; 

        fichier=fopen("NomFichier","w"); 
    if(fichier==NULL) 
        printf("le fichier n'existe pas\n");
 
while(v!=NULL) 
    { 
    fprintf(fichier,"%d\n",v->puissance); 
    fprintf(fichier,"%f\n",v->prix); 
    fprintf(fichier,"%s\n",v->marque); 
    fprintf(fichier,"%s\n",v->modele); 
    v=v->suivant; 
    } 
fclose(fichier); 
}
0
geninfo Messages postés 6 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 28 novembre 2007
28 nov. 2007 à 12:58
merci de ta reponce.je vais essayer avec ça. tu sait comment lire dans ce fichier binaire
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
28 nov. 2007 à 17:34
c'est presque pareil tu ouvre ton fichier avec le mode "rb" et tu lis ce que tu veux avec la fonction fread
0
geninfo Messages postés 6 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 28 novembre 2007
28 nov. 2007 à 18:48
si tu peux m écrire la fonction ca serai mieux car je suis perdu j ai pas bien compris ses truc pourtant j ai besoin de la fonction lire pour ca



void EcrireFichier(voiture *v)
{

FILE *fichier;

fichier=fopen("NomFichier","w");
if(fichier==NULL)
printf("le fichier n'existe pas\n");

while(v!=NULL)
{
fprintf(fichier,"%d\n",v->puissance);
fprintf(fichier,"%f\n",v->prix);
fprintf(fichier,"%s\n",v->marque);
fprintf(fichier,"%s\n",v->modele);
v=v->suivant;
}
fclose(fichier);
}
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
29 nov. 2007 à 17:50
pour lire les element du fichier et les metre dans une liste chaine voici une fonction (j'ai pas testé mais ça ressemble a ça)

void lectureFichier( struct voiture **v)
{

FILE *fichier;

        fichier=fopen("NomFichier","r");
    if(fichier==NULL)
        printf("le fichier n'existe pas\n");

while(!feof(fichier))
    {
    aux=((struct voiture *) malloc(sizeof(struct voiture));
    fscanf(fichier,"%d""%f""%s""%s",&(aux->puissance),&(aux->prix),&(aux->marque),&(aux->modele));
    if(*v==NULL){
        *v=cour=aux;
    }
    else
     {
         cour->suivant=aux;
         cour=cour->suivant;
     }
     cour->suivant=NULL;
    }
fclose(fichier);
}
0