problème avec libération de la mémoire [C] - C - Programmation
Marsh Posté le 08-12-2004 à 18:49:01
sylsau> ca te renvoit pas tjrs le même nombre par hasard ?
edit: nawak se que je dis
Marsh Posté le 08-12-2004 à 18:50:58
non, mais ça c'est pas ça le problème, c'est juste que c'est bien beau de se palucher des cast en char* à la con, si après on alloue des char* et pas des char ..
Marsh Posté le 08-12-2004 à 18:59:51
Taz a écrit : non, mais ça c'est pas ça le problème, c'est juste que c'est bien beau de se palucher des cast en char* à la con, si après on alloue des char* et pas des char .. |
Effectivement c'était ça l'erreur, je cherchais de partout dans mon code alors que c'était une erreur trop con en fait.
Merci beaucoup.
Marsh Posté le 08-12-2004 à 19:01:32
Taz a écrit : non, mais ça c'est pas ça le problème, c'est juste que c'est bien beau de se palucher des cast en char* à la con, si après on alloue des char* et pas des char .. |
C'est juste pour savoir, y a une meilleure méthode pour allouer par exemple une chaine de caractères comme ici qu'en faisant un cast sur ce que renvoie la fonction d'allocation ?
Marsh Posté le 08-12-2004 à 19:08:23
et dans quel cas je dois caster le retour d'une fonction d'allocation par exemple ?
Marsh Posté le 08-12-2004 à 18:37:25
Bonjour,
J'utilise une chaine de caractères saisie au clavier par un utilisateur.
Je la prends en dynamique en faisant ça :
A la fin du programme (entre temps je ne modifie pas la chaine de caractères s, je ne fais que lire son contenu) je veux donc libérer la mémoire allouée pour cette chaine de caractères, j'utilise donc :
Ca marche dans la plupart des cas, mais quelques fois ça m'affiche un : segmentation fault. J'ai utilisée gdb pour en savoir plus et ça me marque :
Sans le free(s), je n'ai plus le segmentation fault, donc ça doit venir de là.
Je vois pas trop ce que ça peut être à part une mauvaise allocation de la chaine ? mais dans ce cas là je ne sais pas trop ce que je dois arranger.
Pourriez vous me donner des indications si vous voyez d'où ça peut venir par rapport à ce que dit gdb.
Merci d'avance.
Message édité par sylsau le 08-12-2004 à 18:37:50