begin process at 2012 05 29 23:59:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

[C] lignes d'un fichier dans un tableau : Segmentation fault


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

[C] lignes d'un fichier dans un tableau : Segmentation fault

mardi 4 mars 2003 à 14:13:15 | [C] lignes d'un fichier dans un tableau : Segmentation fault

Michel76

Bonjour,

Pardonnez-moi de cette question de débutant.

Soit un fichier contenant :
-----
001
002
-----

Je souhaiterais mettre chacune des lignes de ce fichier dans un tableau et manque quelque chose aux lignes suivantes que je n'arrive pas à trouver :

int nb_ligne;
FILE* fd;
char *ligne_fichier;

ligne_fichier=malloc(4*sizeof(char));
nb_ligne=0;

fd=fopen("fichier.txt","r");
while((fscanf(fd,"%s",ligne_fichier))!=EOF)
{
strcpy(codes[nb_ligne],ligne_fichier);
nb_ligne++;
}

---> Segmentation fault
Faut réservé de la mémoire pour le tableau (?) mais comment dois-je m'y prendre ?
Merci à vous

Michel
mardi 4 mars 2003 à 14:54:44 | Résolu (Re : [C] lignes d'un fichier dans un tableau : Segmentation fault)

Michel76

J'ai trouvé tout seul super, non ? :-)

En ajoutant ces deux lignes avant l'affectation dans le tableau, ça fonctionne très bien.

codes=realloc(codes,(nb_codes+1)*sizeof(char *));
codes[nb_ligne]=malloc(strlen(ligne_fichier)*sizeof(char));


Michel


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

> Bonjour,
>
> Pardonnez-moi de cette question de débutant.
>
> Soit un fichier contenant :
> -----
> 001
> 002
> -----
>
> Je souhaiterais mettre chacune des lignes de ce fichier dans un tableau et manque quelque chose aux lignes suivantes que je n'arrive pas à trouver :
>
> int nb_ligne;
> FILE* fd;
> char *ligne_fichier;
>
> ligne_fichier=malloc(4*sizeof(char));
> nb_ligne=0;
>
> fd=fopen("fichier.txt","r");
> while((fscanf(fd,"%s",ligne_fichier))!=EOF)
> {
> strcpy(codes[nb_ligne],ligne_fichier);
> nb_ligne++;
> }
>
> ---> Segmentation fault
> Faut réservé de la mémoire pour le tableau (?) mais comment dois-je m'y prendre ?
> Merci à vous
>
> Michel
samedi 8 mars 2003 à 17:32:00 | Re : Résolu ([C] lignes d'un fichier dans un tableau : Segmentation fault)

vieuxLion

oui ça marche
mais il vaudrait mieux faire tes allocations par groupe (de 10 par exemple) au lieu d'allouer (et de désallouer) systématiquement à chaque entrée de ligne
... ne pas oublier le free à la fin


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

> J'ai trouvé tout seul super, non ? :-)
>
> En ajoutant ces deux lignes avant l'affectation dans le tableau, ça fonctionne très bien.
>
> codes=realloc(codes,(nb_codes+1)*sizeof(char *));
> codes[nb_ligne]=malloc(strlen(ligne_fichier)*sizeof(char));
>
>
> Michel
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > Pardonnez-moi de cette question de débutant.
> >
> > Soit un fichier contenant :
> > -----
> > 001
> > 002
> > -----
> >
> > Je souhaiterais mettre chacune des lignes de ce fichier dans un tableau et manque quelque chose aux lignes suivantes que je n'arrive pas à trouver :
> >
> > int nb_ligne;
> > FILE* fd;
> > char *ligne_fichier;
> >
> > ligne_fichier=malloc(4*sizeof(char));
> > nb_ligne=0;
> >
> > fd=fopen("fichier.txt","r");
> > while((fscanf(fd,"%s",ligne_fichier))!=EOF)
> > {
> > strcpy(codes[nb_ligne],ligne_fichier);
> > nb_ligne++;
> > }
> >
> > ---> Segmentation fault
> > Faut réservé de la mémoire pour le tableau (?) mais comment dois-je m'y prendre ?
> > Merci à vous
> >
> > Michel
>


Cette discussion est classée dans : fichier, ligne, tableau, lignes, nb


Répondre à ce message

Sujets en rapport avec ce message

pb avec tableau et fichier texte [ par krolanta ] Voila mon pb é que g un fichier texte avec des coordonnées et que je voudrais mettre chaque coordonnées ds une case du tableau.En fait ca revient a li Tableau multidimensionel et fichiers [ par AngeloVivaldi ] slt à tous.Voila, je voudrai mettre dans un tableau multidimensionel chaque ligne d'un fichier, puis modifier une ligne du tableau pour le réécrire da se deplacer a la ligne dans un fichier [ par dletozeun ] est ce que quelqu'un connait une commande,une fonction qui permet de se de placer de lignes en lignes plutot que de caracteres en caracteres?Par ex: p lire fichier ligne par ligne [ par mat74 ] salut a ts je voudrai savoir comment je pourrai lire un fichier lignes par lignes . par exemple une fonction qui me permerttrai de recuperer la ligne pb recuperer nombre de lignes [ par sergio18 ] Bonjourje fais une classe ou je recupere le contenu d'un fichier texte lignes par lignes. Pour cela,j'utilise la fonction fgets et vu qu'elle ne retou lecture d'un fichier ligne par ligne [ par oudkaramla ] salut à tous,j'ai un problème: j'ai un fichier texte contenant quatre lignes.moi je veux lire ces quatre lignes et les stocker chacun dans une variabl Position curseur dans un fichier texte [C++] [ par MissSixty ] Salut !Je cherche à comprendre le bogue dans un programme tout simple qui me permet de récupérer la position du curseur (en nombres de lignes) en fin Problème de récupération des lignes d'un Edit Multiline [ par LaPatoshe ] Bonjour, j'ai un petit problème car je ne parviens pas à récupérer de façon intacte chacune des lignes rentrées dans un controle Edit en Multiline.Voi fichier ligne par ligne [ par blinix123 ] Yop!Bon voilou, je ne suis pas fortiche dans la manipulation de fichiers ^^J'ai un fichier qui contient des lignes de suite de nombre: 000112033011140 lecture fichier et test des lignes... [ par jojomillenium ] Bonjour, J'aimerai lire un fichier qui ressemble a ca: KJ  1 3 5; I  OPL; B 12 34 78, 90; I  PPL; et ainsi de suite des lignes qui ne sont pas du meme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 1,186 sec (3)

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