Erreur de segmentation...
greeneyed
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un probleme lors de l'exécution d'un programme de C.
Alors je ne vais pas vous donner tout le projet a lire, je pense que vous n'avez pas que ca a faire (!!), néanmoins voici le début du main.c, qui donne aboutit sur une erreur de segmentation sans meme afficher les lignes de test (cf printf(test1). Si quelqu'un a une idée du pourquoi et du comment, je suis preneur !!
Merci d'avance.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "liste.h"
#include <time.h>
#define MAX 20
#define TEMPS_MAX 10800
#define TEMPS_MIN 3600
int main(void)
{
int nbre_etape,nbre_equipe,dossard;
char equipe[MAX],nom[MAX],prenom[MAX];
int i,j,k;
FILE *pfich;
struct liste *Ma_Liste;
struct coureur *C;
int temps_init=0;
int temps_etape;
int Resultat_Dopage;
printf("test1");
//initialisation de la fonction aleatoire srand
srand(time(NULL)) ;
// on ouvre le fichier en lecture
pfich=fopen("./listetourdefrance.txt","r");
// on teste si il y a une erreur d'ouverture
if((pfich=fopen("./listetourdefrance.txt","r"))==NULL)
{
printf("Erreur ouverture\n");
exit(0);
}
printf("test2");
// on recupere le nombre d'etapes et d'equipe dans le fichier txt
fscanf(pfich,"%d\n", &nbre_etape);
fscanf(pfich,"%d\n", &nbre_equipe);
// on initialise la liste
Init_list(Ma_Liste);
// pour chaque equipe
printf("Liste initialisee");
for (i=0;i<nbre_equipe;i++)
{
// on recupere le nom de l'equipe
fscanf(pfich,"%s",equipe);
// pour les 5 membres d'une equipe
for (j=0;j<5;j++)
{
// on recupere le nom, prenom, et dossard
fscanf(pfich,"%s %s %d\n",nom,prenom,&dossard);
// on cree une struct coureur avec ces donnees
C=Creer_Coureur(nom,prenom,dossard,equipe,temps_init);
// on le rentre dans Ma_Liste
Ajouter(Ma_Liste,C);
}
}
return 0;
}
j'ai un probleme lors de l'exécution d'un programme de C.
Alors je ne vais pas vous donner tout le projet a lire, je pense que vous n'avez pas que ca a faire (!!), néanmoins voici le début du main.c, qui donne aboutit sur une erreur de segmentation sans meme afficher les lignes de test (cf printf(test1). Si quelqu'un a une idée du pourquoi et du comment, je suis preneur !!
Merci d'avance.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "liste.h"
#include <time.h>
#define MAX 20
#define TEMPS_MAX 10800
#define TEMPS_MIN 3600
int main(void)
{
int nbre_etape,nbre_equipe,dossard;
char equipe[MAX],nom[MAX],prenom[MAX];
int i,j,k;
FILE *pfich;
struct liste *Ma_Liste;
struct coureur *C;
int temps_init=0;
int temps_etape;
int Resultat_Dopage;
printf("test1");
//initialisation de la fonction aleatoire srand
srand(time(NULL)) ;
// on ouvre le fichier en lecture
pfich=fopen("./listetourdefrance.txt","r");
// on teste si il y a une erreur d'ouverture
if((pfich=fopen("./listetourdefrance.txt","r"))==NULL)
{
printf("Erreur ouverture\n");
exit(0);
}
printf("test2");
// on recupere le nombre d'etapes et d'equipe dans le fichier txt
fscanf(pfich,"%d\n", &nbre_etape);
fscanf(pfich,"%d\n", &nbre_equipe);
// on initialise la liste
Init_list(Ma_Liste);
// pour chaque equipe
printf("Liste initialisee");
for (i=0;i<nbre_equipe;i++)
{
// on recupere le nom de l'equipe
fscanf(pfich,"%s",equipe);
// pour les 5 membres d'une equipe
for (j=0;j<5;j++)
{
// on recupere le nom, prenom, et dossard
fscanf(pfich,"%s %s %d\n",nom,prenom,&dossard);
// on cree une struct coureur avec ces donnees
C=Creer_Coureur(nom,prenom,dossard,equipe,temps_init);
// on le rentre dans Ma_Liste
Ajouter(Ma_Liste,C);
}
}
return 0;
}
A voir également:
- Erreur de segmentation...
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Corriger l'erreur 0x80070643 de la mise à jour KB5034441 de Windows 10 - Accueil - Windows
3 réponses
J'ai voulu voir si je pouvais t'aider alors j'ai copier coller le début de ton code (jusqu'au printf car tu dis que chez toi il ne s'affiche pas).
Il marche parfaitement chez moi.
Tu remarqueras que j'ai du retirer ton #include "liste.h". Donc ça pourrait venir de ce que tu as dans ton liste.h
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define MAX 20
#define TEMPS_MAX 10800
#define TEMPS_MIN 3600
int main(void)
{
int nbre_etape,nbre_equipe,dossard;
char equipe[MAX],nom[MAX],prenom[MAX];
int i,j,k;
FILE *pfich;
struct liste *Ma_Liste;
struct coureur *C;
int temps_init=0;
int temps_etape;
int Resultat_Dopage;
printf("test1");
system("pause");
}
Il marche parfaitement chez moi.
Tu remarqueras que j'ai du retirer ton #include "liste.h". Donc ça pourrait venir de ce que tu as dans ton liste.h