begin process at 2012 02 13 05:28:35
  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

erreur de pointeur [ par africanwinners ] Bonsoir j'ai concu un programme c qui permet de lire un fichier,de supprimer les doublons (les doubles) mais il y a des problèmes lors de la lecture d cherchet afficher un ou plusieurs ligne d'une fichier texte . [ par brell ] bon jour! cette fonction a comme parametre fichier contenant les messages et une chaine de caracteres contenant le destinateur. cette fonction permet conversion de cstring en const char* [ par thejrem ] bonjour je devloppe en c sur visual studio 2008 et je test l'existance d'un fichier en faisant ceci mais j'ai un probleme if (dwMajorVersion == 5)// Conversion d'un char[] en char*puis stocké en char*[] [ par Saigonoseme ] Bonjour à tous, J'ai un petit souci de conversion d'une chaîne de caractère dans un tableau de chaînes de caractère !!!(tAgTabTrame). (C'est pas agré Lecture d'un fichier avec decoupe de chaine. [ par macbang ] Bonjour, je reviens vers vous pour un problème que j'ai du mal a résoudre.Mon programme ouvre un fichier, le but étant de découper ligne par ligne pou Inserer un fichier texte dans un const char Fichier[]... [ par pinkfloydhighopes ] bonjour, tout est dans le titre... je suis en trin de faire un système d'exploitation en elf qui utilise le multiboot de grub. je cherche depuis pomal Un seul fichier de sortie au lieu de plusieurs [ par apu04 ] Bonjour à tous, J'ai une fonction qui récupère différents textes à partir de fichiers différents et stocke chacun de ces texte dans des fichiers de so ecriture dans un fichier [ par cacoucatatonique ] bonjours,je me suis mis au laanguage C parcequ'a l'ecole j'ai un cours dessus, et je butte sur une erreur inconue.En faite mon probleme vien du fait q


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,905 sec (3)

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