begin process at 2010 02 10 09:56:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

liste chainée et lecture d'un fichier txt


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

liste chainée et lecture d'un fichier txt

lundi 25 novembre 2002 à 18:48:22 | liste chainée et lecture d'un fichier txt

whiteknight

Bonjour

j'ai un probleme pour charger des données depuis un fichier texte, les données recupérées doivent etre stocké dans un liste chainée déclaré ainsi

#ifndef repertoire_h
#define repertoire_h
// Déclaration de la structure data
struct data
{
int ref;
char nom[20];
char prenom[20];
char tel[11];
struct data *next; // pointeur vers une structure data
};

// On crée une structure PERSON de type data
typedef struct data PERSON;
// On cree LINK de type PERSON *
typedef PERSON *LINK;

// les données sont sauvegardé ainsi :

LINK save(LINK head) // Fonction de sauvegarde des données -- QUI MARCHE SANS PBS !
{
// Declaration des variables
char *ext=".txt";
char nom[21];
FILE *sortie;
LINK current;
current=head;
printf("Sauvegarde : \n");
// Saisie du nom de fichier
printf("Entrez le nom du fichier (sans extension) :");
scanf("%s",nom);
strcat(nom,ext);

if ((sortie=fopen(nom,"w"))==NULL) // Si l'ouverture s'est mal passée
{
printf("Erreur a l'ouverture du fichier %s. \n",nom);// Message d'erreur
system("PAUSE");
exit(0);
}

else // Sinon
{
while(current!=NULL) // Tant que la liste existe
{
// Sauvegarde des données
fprintf(sortie,"%d\n",current->ref);
fprintf(sortie,"%s\n",current->nom);
fprintf(sortie,"%s\n",current->prenom);
fprintf(sortie,"%s\n",current->tel);
current=current->next;
}
}
// Ferme le fichier
fclose(sortie);
return(head);
}

// ma fonction load pour le moent - MARCHE PAS DU TOUT !! - Charge rien

LINK load(LINK head)
{
// Declaration des variables
char *ext=".txt";
char nom[21];
char nom_f[21];
char prenom_f[21];
char tel_f[11];
FILE *entree;
LINK current;
current=head;
printf("Chargement : \n");
// Saisie du nom de fichier
printf("Entrez le nom du fichier (sans extension) :");
scanf("%s",nom);
strcat(nom,ext);

if ((entree=fopen(nom,"r"))==NULL) // Si l'ouverture s'est mal passée
{
printf("Erreur a l'ouverture du fichier %s. \n",nom);// Message d'erreur
system("PAUSE");
exit(0);
}

else // Sinon
{
while(current!=NULL) // Tant que la liste existe
{
// Chargement des données
fscanf(entree,"%d\n",current->ref);
fscanf(entree,"%s\n",nom_f);
fscanf(entree,"%s\n",prenom_f);
fscanf(entree,"%s\n",tel_f);
strcpy(current->prenom,prenom_f);
strcpy(current->nom,nom_f);
strcpy(current->tel,tel_f);
current=current->next;
}
}
printf("Chargement Reussi !!");
system("PAUSE");
// Ferme le fichier
fclose(sortie);
return(head);
}


voila si quelqu'un pouvait m'aider à la faire fonctionner ca m'aiderai bcp ... en + c'est assez urgent

Merci d'avance

whiteknight
mardi 26 novembre 2002 à 12:30:42 | Re : liste chainée et lecture d'un fichier txt

llo

hy,
pour moi ta fonction load devrait réaliser à chaque tour de boucle une allocation mémoire d'un poste puis réaliser le chaînage.... ce que tu ne fais pas!
l'lo


-------------------------------
Réponse au message :
-------------------------------

Bonjour

j'ai un probleme pour charger des données depuis un fichier texte, les données recupérées doivent etre stocké dans un liste chainée déclaré ainsi

#ifndef repertoire_h
#define repertoire_h
// Déclaration de la structure data
struct data
{
int ref;
char nom[20];
char prenom[20];
char tel[11];
struct data *next; // pointeur vers une structure data
};

// On crée une structure PERSON de type data
typedef struct data PERSON;
// On cree LINK de type PERSON *
typedef PERSON *LINK;

// les données sont sauvegardé ainsi :

LINK save(LINK head) // Fonction de sauvegarde des données -- QUI MARCHE SANS PBS !
{
// Declaration des variables
char *ext=".txt";
char nom[21];
FILE *sortie;
LINK current;
current=head;
printf("Sauvegarde : \n");
// Saisie du nom de fichier
printf("Entrez le nom du fichier (sans extension) :");
scanf("%s",nom);
strcat(nom,ext);

if ((sortie=fopen(nom,"w"))==NULL) // Si l'ouverture s'est mal passée
{
printf("Erreur a l'ouverture du fichier %s. \n",nom);// Message d'erreur
system("PAUSE");
exit(0);
}

else // Sinon
{
while(current!=NULL) // Tant que la liste existe
{
// Sauvegarde des données
fprintf(sortie,"%d\n",current->ref);
fprintf(sortie,"%s\n",current->nom);
fprintf(sortie,"%s\n",current->prenom);
fprintf(sortie,"%s\n",current->tel);
current=current->next;
}
}
// Ferme le fichier
fclose(sortie);
return(head);
}

// ma fonction load pour le moent - MARCHE PAS DU TOUT !! - Charge rien

LINK load(LINK head)
{
// Declaration des variables
char *ext=".txt";
char nom[21];
char nom_f[21];
char prenom_f[21];
char tel_f[11];
FILE *entree;
LINK current;
current=head;
printf("Chargement : \n");
// Saisie du nom de fichier
printf("Entrez le nom du fichier (sans extension) :");
scanf("%s",nom);
strcat(nom,ext);

if ((entree=fopen(nom,"r"))==NULL) // Si l'ouverture s'est mal passée
{
printf("Erreur a l'ouverture du fichier %s. \n",nom);// Message d'erreur
system("PAUSE");
exit(0);
}

else // Sinon
{
while(current!=NULL) // Tant que la liste existe
{
// Chargement des données
fscanf(entree,"%d\n",current->ref);
fscanf(entree,"%s\n",nom_f);
fscanf(entree,"%s\n",prenom_f);
fscanf(entree,"%s\n",tel_f);
strcpy(current->prenom,prenom_f);
strcpy(current->nom,nom_f);
strcpy(current->tel,tel_f);
current=current->next;
}
}
printf("Chargement Reussi !!");
system("PAUSE");
// Ferme le fichier
fclose(sortie);
return(head);
}


voila si quelqu'un pouvait m'aider à la faire fonctionner ca m'aiderai bcp ... en + c'est assez urgent

Merci d'avance

whiteknight
mardi 26 novembre 2002 à 16:03:13 | Re : liste chainée et lecture d'un fichier txt

whiteknight



Slt

merci de ta réponse c'était effectivement cela !! j'ai eu du mal à m'en apercevoir mais ca marche maintenant merci !

ciao

-------------------------------
Réponse au message :
-------------------------------

hy,
pour moi ta fonction load devrait réaliser à chaque tour de boucle une allocation mémoire d'un poste puis réaliser le chaînage.... ce que tu ne fais pas!
l'lo




Cette discussion est classée dans : fichier, char, link, current, sortie


Répondre à ce message

Sujets en rapport avec ce message

Debutant : ecrire et lire un fichier txt [ par manu ] Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl ecriture fichier txt turboC++ [ par idk ] qqun connais une fonction, qui te place le cursor, (dans un fichier),CAD qui renvoie à la ligne suivante exemple char prenom="tom"char nom="bauq" Et d écriture dans un fichier txt [ par jimtruand ] bonjour,j'ai un fichier txt à traiter et à envoyer via ftp à un serveur. la partie ftp est ok.la partie fichier pt'problèmedans le fichier je dois mod Ecriture/lecture dans un fichier [ par SneakGuy ] Haaa... Merci, sa m'a aider... Enfin, j'ai encore plusieurs problemes...pour l'ecriture j'ai quelque chose qui ressemble a sa:char user[20];char pass[ ça concerne la lecture et l'ecriture sur un fichier et ... [ par wfish ] voila mon pb :j'ai fais un ptit prog de traitement de fichier. il sert à mettre certaines infos prises dans un fichier et les mettre dans un autre !!1 PROBLEME pour retourner un char* a partir d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang PROBLEME pour retourner un char* apres recuperation d'une chaine(sscanf) d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang Lecture dans un fichier ... CHaud !! [ par ilyatout ] Bonjour,VOilà g un gros problème, c'est idiot mais je n'y arrive pas.j'ai un fichier de la sorte :NOM : NICOLAS / MARTIN // 28je dois stocker NICOLAS Lecture/Ecriture/Modification d'une structure dans un fichier [ par paniX ] Bonjour. Alors voici mon probleme:j'ai créé une structure client qui a cette forme :struct client{ int id; char nom[30]; char prenom[30]; char adresse Taille de ma structure [ par crocejf2000 ] Salut a tous, J'ai un tres gros probleme qui me bloque toute mon avancé dans mon prog : j'ai une structure : typedef struct{ unsigned short Locate; ch


Nos sponsors


Sondage...

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,421 sec (4)

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