[Split] [Erreur de segmentation] [C] [Programmation]
Résolu
Aragorn
-
Aragorn19 Messages postés 6 Statut Membre -
Aragorn19 Messages postés 6 Statut Membre -
Bonjour,
Je fais un programme qui me récupère des données d'un fichier .csv, et je split chaque ligne pour mettre ces données dans une structure de données. Quand j’exécute le programme ça fonctionne jusqu'à une certaines lignes de mon csv, et ça affiche : "Erreur de segmentation (core dumped)".
Quelqu'un aurait-il une idée ?
merci.
Je fais un programme qui me récupère des données d'un fichier .csv, et je split chaque ligne pour mettre ces données dans une structure de données. Quand j’exécute le programme ça fonctionne jusqu'à une certaines lignes de mon csv, et ça affiche : "Erreur de segmentation (core dumped)".
Quelqu'un aurait-il une idée ?
merci.
A voir également:
- [Split] [Erreur de segmentation] [C] [Programmation]
- Split cam - Télécharger - Messagerie
- Application de programmation - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
Merci quand même.
Une erreur ne se manifeste pas forcément tout de suite. Il peut se produire dans certains cas et pas dans d'autres.
Pire, un code peut même contenir une erreur et ne jamais planter.
Bref, sans ton code, on ne peut pas t'aider.
Du coup, cela ne facilite pas la lecture.
struct voyageur {
[...]
souhait ...;
}
Attention, souhait n'est pas encore défini à ce moment. Soit il faut mettre struct souhait, soit mettre le typedef avant la structure voyageur.
struct liste_base {
[...]
personne pers;
}
Attention, personne n'est pas encore définit à ce moment. Il faut mettre le typedef avant la structure liste_base.
p.nom = *(token + i);
printf("[%s]\n", p.nom);
Vu que tu ne te sers pas de p.nom et cie, pourquoi passer par la variable p.nom ? Tu peux directement afficher la variable *(token+i). A noter que tu peux même utiliser token[i].
int main()
Le bon prototype est : int main(void)
Et enfin, le gros problème :
for(j=1; j<7; j++)
{
p.choix1.planete[j] = *(token + i);
i++;
plante est définie comme un tableau de 6 pointeurs sur char. Le 1er élément est : planete[0] et le dernier est planete[5]. Tu ne peux pas utiliser planete[6], sinon plantage.
Pour la prochaine fois. Merci d'utiliser plutôt la balise <code c> et non <code>. Ca sera encore plus lisible (couleur et tout :-)).
Exemple :
<code c>ici tu mets ton code</code>
Et vérifie bien qu'il n'y a pas de problème particulier concernant l'affichage. Si c'est le cas, tu as la possibilité de modifier ton commentaire. Ca sera plus lisible pour nous, et t'obtiendras une réponse plus rapidement.
Cdlt,
D'accord, je fais ça maintenant dans le doute :
Pour les p.*** c'était pour les stocker dans une liste mais j'ai juste voulu faire des testes.