IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

petit soucis avec un bug


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 7
    Points
    7
    Par défaut petit soucis avec un bug
    bonjour,

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    int nb_ligne()
    {
    	int i=0;
    	char test[TAILLE]="";
    	FILE *scores=NULL;
    	scores=fopen("test.txt","r");
    	if(scores!=NULL)
    	{
    		while(!feof(scores))
    		{
    			fgets(test,TAILLE,scores);
    			i++;
    		}
    		printf("\nNb de ligne = %d",i);
    		fclose(scores);
    	}
    	else
    	{
    		printf("impossible d'ouvrir le fichier");
    		exit(0);
    	}
    	return i;
    }
     
    void rf_scores(int coef)
    {
    	int i=0;
    	score *xjoueur=NULL;
    	FILE *scores=NULL;
     
    	xjoueur=malloc(coef*sizeof(xjoueur));
    	if(xjoueur==NULL)exit(0);
    	for(i=0;i<coef;i++)
    	{
    		memset(xjoueur[i].nom,0,sizeof(xjoueur->nom));
    		memset(&xjoueur[i].moyenne,0,sizeof(xjoueur->moyenne));
    		memset(&xjoueur[i].partie,0,sizeof(xjoueur->partie));
    		printf("\n_-_- %s %f %d",xjoueur[i].nom,xjoueur[i].moyenne,xjoueur[i].partie);
    		//je printf avec ma struct indicé pour verifier et le nombre de ligne de tableau créée et l'initialisation =>OK
    	}
    	scores=fopen("test.txt","r+");
    	if(scores!=NULL)
    	{
    		rewind(scores);
    		for(i=0;!feof(scores);i++)
    		{
    			fscanf(scores,"%s %f %d",xjoueur[i].nom,&xjoueur[i].moyenne,&xjoueur[i].partie);
    			//j'attribue au ligne du tableau de struct les différentes valeur contenues dans mon fichier =>OK
     
    		}
    		for(i=0;i<coef;i++)
    		{
    			printf("\n---%s %f %d",xjoueur[i].nom,xjoueur[i].moyenne,xjoueur[i].partie);
    			//je printf les valeur dans une boucle différentes pour verifier qu'elle sont bien stocké et non lue en meme temps =>OK
    		}
    		free(xjoueur);
    		fclose(scores);
    	}
    	else 
    	{
    		printf("impossible d'ouvrir le fichier");
    		exit(0);
    	}
    }
    dans le main l'appel se faisant comme ceci :
    et la sortie du compilateur me sort le bug suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    'PARTIE II - Le préprocesseur.exe'*: Chargé 'C:\Users\CHARLES\Documents\Visual Studio 2008\Projects\PARTIE II - Le préprocesseur\Release\PARTIE II - Le préprocesseur.exe', Les symboles ont été chargés.
    'PARTIE II - Le préprocesseur.exe'*: Chargé 'C:\Windows\System32\ntdll.dll'
    'PARTIE II - Le préprocesseur.exe'*: Chargé 'C:\Windows\System32\kernel32.dll'
    'PARTIE II - Le préprocesseur.exe'*: Chargé 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll'
    HEAP[PARTIE II - Le préprocesseur.exe]: Heap block at 000F1BC8 modified at 000F1BF4 past requested size of 24
    Windows a déclenché un point d'arrêt dans PARTIE II - Le préprocesseur.exe.
     
    Cela peut être dû à une défaillance du tas qui indique un bogue dans PARTIE II - Le préprocesseur.exe ou l'une des DLL chargées.
     
    Cela peut également être dû à l'appui sur la touche F12 lorsque PARTIE II - Le préprocesseur.exe a le focus
     
    La fenêtre Sortie peut contenir des informations de diagnostic supplémentaires.
    Le programme '[4292] PARTIE II - Le préprocesseur.exe: Natif' s'est arrêté avec le code 0 (0x0).
    donc si vous avez une idée d'où sa peut venir elle sera la bienvenue...

    merci d'avance a tous

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Peut être un problème ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xjoueur=malloc(coef*sizeof(xjoueur));
    Tu alloues un nombre que multiple sizeof xjoueur. Comme xjoueur est un pointeur, tu alloues 4 octets seulement.

    Je pense que tu veux plutôt écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xjoueur=malloc(coef*sizeof(*xjoueur));
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 7
    Points
    7
    Par défaut
    a dire que c'etait si simple. quand je pense que je pense que je me prennais la tete depuis hier soir la dessus
    big up et +1 a ram-0000

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Rassure toi, c'est un piège classique, fouille un peu dans le forum, tu en verras d'autres exactement comme toi
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit soucis avec mon graveur
    Par Vador dans le forum Périphériques
    Réponses: 8
    Dernier message: 02/11/2005, 14h58
  2. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  3. Petit souci avec clause where
    Par ybruant dans le forum SQL
    Réponses: 1
    Dernier message: 21/07/2005, 22h10
  4. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo