Partage
  • Partager sur Facebook
  • Partager sur Twitter

Segmentation fault (core dumped)

Arf, je comprend pas pourquoi :(

Sujet résolu
    9 mars 2008 à 13:47:04

    Bonjour,

    Je travail en ce moment sur le tutoriel de Mateo sur les fichiers. J'ai voulus mettre un peu en pratique pour voir si j'avais bien compris ce chapitre, et j'ai un petit problème.

    Voici le code:

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. struct amis
    4. {
    5. char prenom[100];
    6. char nom[100];
    7. long age;
    8. };
    9. typedef struct amis amis;
    10. int main(void)
    11. {
    12. amis g= {0};
    13. long nbamis=0;
    14. FILE* fichier = NULL;
    15. fichier=fopen("fichier.txt", "a+");
    16.         if (fichier != NULL)
    17.         {
    18.         fscanf(fichier, "%ld", &nbamis);
    19.         nbamis++;
    20.         printf("\t##Joueur 1##\n\n\n");
    21.         printf("Bonjour, quel est ton prenom? ");
    22.         scanf("%s", &g.prenom);
    23.         printf("Quel est ton nom? ");
    24.         scanf("%s", &g.nom);
    25.         printf("Quel age as tu? ");
    26.         scanf("%ld", &g.age);
    27.         fprintf(fichier, "%ld: %s %s, %ld ans\n", nbamis, g.prenom, g.nom, g.age);
    28.         fclose(fichier);
    29.         }      
    30. return 0;
    31. }


    Lors de la compilation, il me retourne: "Segmentation fault (core dumped)", cela, si je change le mode d'éxécution du fichier.

    Exemple: Avec fichier=fopen("fichier.txt", "w");, fichier=fopen("fichier.txt", "r");, fichier=fopen("fichier.txt", "a"); le fichier s'ouvre parfaitement. Mais l'intégration du + me retourne cette erreur. (ce qui est embétant car j'ai besoin de a+ sur le script)

    Merci de votre aide.

    EDIT: Pardon c'est résolus, j'avais pas vus qu'il fallait renvoyé l'adrèsse de la variable (au niveau de fscanf(fichier, "%ld", &nbamis); )

    • Partager sur Facebook
    • Partager sur Twitter

    Segmentation fault (core dumped)

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown