begin process at 2010 02 10 15:47:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Fichier & Disque

 > 

Fichier + liste chainée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fichier + liste chainée

mardi 10 juin 2008 à 20:49:49 | Fichier + liste chainée

Evisu

Bonsoir,

J'ai une question concernant l'écriture et la lecture de liste chainée dans un fichier.data

J'ai une structure PERS qui contient des infos (nom , âge et adresse de l'élément suivant) :

struct PERS {
    char nom[20];
    int age;
    struct PERS *psvt;
};


Ensuite , 2 fonctions , une pour ajouter des éléments et une autre pour afficher le contenu de la liste.

int Ajout(struct PERS *liste , FILE *fp)
{
       boucle pour saisir le nom et l'âge + malloc pour nouvel élément.
       un fwrite
}

void afficher (FILE *fp)
{
       un fread
       boucle pour afficher le contenu de la liste chainée
}



Je ne sais pas quels arguments donner à mon fwrite et fread.

D'avance merci.
mardi 10 juin 2008 à 21:02:32 | Re : Fichier + liste chainée

jfrancois

Bonsoir,

Si tout se passe directement avec un fichier il n'y a pas de liste chaînée ! Le pointeur psvt ne sert à rien. Aucun malloc n'est nécessaire.

Jean-François

mardi 10 juin 2008 à 21:12:32 | Re : Fichier + liste chainée

Evisu

Ok merci.

Mais imaginons que j'ai un fichier.dat déjà créé et que je dois rapatrier les données qui se trouvent sur le fichier dans une liste chainée basée sur :

struct PERS {
    char nom[20];
    int age;
    struct PERS *psvt;
};


Dans ma fonction qui lit les données sur le fichier , je ne vois pas comment je dois faire avec mon fread..
mardi 10 juin 2008 à 21:19:02 | Re : Fichier + liste chainée

omnia

salut,

tu lit le contenu complet de ton fichier dans un buffer de la taille de ton fichier

void *buffer;

buffer = malloc....

ensuite tu fait un transtipage

(*PERS)buffer[0].nom

...

voila
mardi 10 juin 2008 à 21:25:39 | Re : Fichier + liste chainée

jfrancois

Pour lire le fichier (pointé par pFichier) structure par structure :

FILE* pFichier = fopen("fichier.dat","rb");
if (pFichier == NULL) return; // erreur à l'ouverture
while (1)
{
   struct PERS* pPers = (struct PERS*)malloc(sizeof(struct PERS));
   if (fread(pPers,sizeof(struct PERS),1,pFichier) != 1) break;
}
fclose(pFichier);

Il ne reste plus qu'à chaîner les pPers !

Mais on peut aussi lire le fichier, structure par structure ou entièrement, dans un tableau de structures PERS et il n'y a plus besoin du pointeur psvt.

Jean-François

mardi 10 juin 2008 à 21:34:29 | Re : Fichier + liste chainée

jfrancois

(*PERS)buffer[0].nom

((PERS*)buffer[0])->nom
ou
(*(PERS*)buffer[0]).nom


Jean-François

mardi 10 juin 2008 à 21:58:27 | Re : Fichier + liste chainée

Evisu

Merci pour votre aide, je vai essayer celà.


Cette discussion est classée dans : fichier, liste, pers, struct, chainée


Répondre à ce message

Sujets en rapport avec ce message

Lecture d'un fichier texte pour mettre dans une liste chainée [ par webgladiator ] Merci de prendre du temps à me lire.J'ai un projet d'info dont le but est d'effectuer le plus court itinéraire dans le metro parisien (opimisation).J' Répertoire téléphonique en Liste Chainée [ par REQVIEM ] Bonjour,Je suis en école d'ingé et on a un projet a réaliser en C. On doit réaliser un Répertoire téléphonique en Liste Chainée de structure à partir les liste chainée [ par korimatsu ] bonjour a tous je voulé juste savoir une chose si j'écris mon maillon de cette façon typedef struct maillon {int v; struct maillon *suiv; }maillo liste chainée ordonnée [ par doumaster ] Comment gérer une annuaire téléphonique ( nom, prénom, téléphone portable, téléphone bureau et domicile) à l'aide des listes chainées ordonnées. j'ai Trier une liste simplement chainée [ par MasterShadows ] Bonjour à tous,Dans un TP de C que je dois, il y'a une question qui me perturbe :Nous devions créer une structure LIST qui est simplement chainée, qui allocation dynamique,liste chainée [ par versLeBut ] slt tout le monde        J'ai besoin d'une aide urgente pour mon projet          je vous explique,j'ai declaré une matrice de chaine de caractères com fonctions de listes chainees en c [ par loftiteau ] bonjourje souhaite avoir d'aide pour faire des fonctions d'ajout et suppression et modification en utilisant la liste chainé suivante en language c :s liste chainée [ par zitiba ] Salut! je m'appelle josiane.Je suis au burkina .j'ai un problème et je voudrais de l'aideEn faite on me demande de faire une liste chainée de caractèr les liste chainée [ par korimatsu ] bonjour a tous je voulais vous demander de me donner un code source pour un programme qui représente un polynôme avec les liste chainée et calcule la solution [ par amir09 ] 1- le TAD dont la signature incomplé est ci dessos décrit une structure des donnéparticulier FICHIER DE PERSONNE .Dans cette structure, les personne p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales