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 :

instruction "fread" dans une application appelée par OO


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut instruction "fread" dans une application appelée par OO
    Bonjour à tous,

    Comme le titre le laisse entendre, j'ai un problème avec l'instruction fread.

    Mon code lit tout simplement le contenu d'un fichier, avec quelque chose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    FILE *datafile;
    char *buffer;
     
    datafile = fopen ("Test.txt", "r");
    buffer = (char*) malloc (sizeof(char));
     
    fread(buffer, sizeof(char), 1, datafile);
    La compilation fonctionne.
    L'éxécution fonctionne aussi.
    Mais lorsque j'appelle mon application depuis OpenOffice, elle se ferme prématurément, et j'ai droit à un message d'erreur "a rencontré un message d'erreur et doit fermer". Je ne sais pas du tout si le problème vient de me code ou d'OO...

    Merci d'avance de votre aide, si quelqu'un a une idée d'où pourrait venir le problème ...

    Colas

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 366
    Points : 440
    Points
    440
    Par défaut
    est ce que ta variable buffer est bien initialisee avec un tampon valide ???
    (sinon tu risques le segmentation fault)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui, elle est intialiasée correctement (enfin, je pense).
    Je rajoute les init dans mon message d'origine.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Points : 256
    Points
    256
    Par défaut
    salut,
    testes-tu le datafile retourné ?
    car s'il est null, le fread plantera !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par olive_le_malin
    salut,
    testes-tu le datafile retourné ?
    car s'il est null, le fread plantera !
    C'était bien ça : le datafile était nul.
    En effet, bien que l'application .exe était située à "C:/", OO cherchait le fichier à lire à partir de son répertoire d'installation.

    Conclusion : il ne faut pas coder comme un goret , et faire de l'adressage propre...

    Merci à tous pour votre aide !

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Tu gagnes le prix de l'allocation dynamique la plus inutile.
    Bravo.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 366
    Points : 440
    Points
    440
    Par défaut
    Citation Envoyé par olive_le_malin
    salut,
    testes-tu le datafile retourné ?
    car s'il est null, le fread plantera !
    j avais pas ose poser la question ...

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/12/2013, 14h59
  2. Réponses: 12
    Dernier message: 11/09/2012, 19h48
  3. Variable dans une fonction appelée par une autre fonction
    Par CyrilD dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/12/2010, 13h42

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