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

GTK+ avec C & C++ Discussion :

probleme malloc /free


Sujet :

GTK+ avec C & C++

  1. #1
    Membre actif Avatar de bobyboby
    Inscrit en
    Septembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 108
    Par défaut probleme malloc /free
    sale problème qui survient de temps en temps :

    quand j'exectute ma fonction le programme plante et j'ai comme erreur parfois un segmentation fault, parfois ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *** glibc detected *** ./final: free(): invalid next size (fast): 0x0839cbf8 ***
    voila la fonction qui sert à enregistrer des infos dans un fichier texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void save(GtkWidget *widget, gpointer data){
    FILE* fichier = NULL;
    gchar* fileName;
    fileName = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(widget));
    strcat(fileName, ".in");
    fichier = fopen(fileName, "w+");
    fprintf(fichier,"%d\n", "1");
    fclose(fichier);
    }
    j'ai simplifié le code. L'erreur survient soit quand je rentre un nom de fichier trop long soit quand j'enregistre d'abord un fichier avec un grand nom et qu'ensuite j'enregistre un autre avec un nom plus petit... et c'est toujours un peu aléatoire comme erreur.

    ca doit merder au niveau des alloc de memoires pour le strcat mais qd je l'enleve j'ai quand meme l'erreur parfois...

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Citation Envoyé par bobyboby Voir le message
    ca doit merder au niveau des alloc de memoires pour le strcat
    Le problème c'est qu'il y en a pas justement.

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    filename2 = g_strconcat (filename, ".in", NULL);
    g_free (filename);
    fichier = fopen (filename2, ...);
    g_free (filename2);
    devrait faire à peu près ce qu'il faut.

  4. #4
    Membre actif Avatar de bobyboby
    Inscrit en
    Septembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 108
    Par défaut
    tu es mon idole merci

    pas de plantage depuis lors

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

Discussions similaires

  1. Probleme d'allocation malloc free
    Par cmoibal dans le forum Linux
    Réponses: 1
    Dernier message: 23/05/2007, 14h21
  2. malloc, free et les fuites
    Par Syrmonsieur dans le forum C
    Réponses: 10
    Dernier message: 28/06/2006, 13h01
  3. Malloc/Free : Style élégant?
    Par Gilles.L dans le forum C
    Réponses: 5
    Dernier message: 07/05/2006, 21h44
  4. [Apache] probleme htaccess free
    Par loka dans le forum Apache
    Réponses: 2
    Dernier message: 23/03/2006, 13h51
  5. Réponses: 3
    Dernier message: 27/02/2006, 08h52

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