Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1781 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Problème core dumped sur pointeur de char

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème core dumped sur pointeur de char

n°2101538
sal1
Posté le 14-09-2011 à 16:15:07  profilanswer
 

Bonjour à tous,
 
Voilà mon problème que j'ai résolu mais dont je ne comprends pas l'origine.
 
J'ai une fonction qui prend en paramètre un int (int myInt) et 3 pointeurs de char (appelés char *pt1, char *pt2, char *pt3).
Le but de la fonction étant de faire une recherche de la variable pointé par pt2 (par dichotomie) dans la liste pointée par pt1 .
sachant que chaque composant de la liste pointée par pt1 est constitué de 2 éléments.
 
Une fois la valeur pointée par pt2 trouvée dans pt1, on fait donc pointer pt3 vers le 2eme éléments de la liste en utilisant la fonction strncpy.
 
Le problème était que lors de la copie vers pt3 j'avais un core dumped.
 
Après recherche (ayant déjà rencontré un problème identique auparavant), je me suis apperçu au début de la fonction que le pointeur pt3 était initialisé à NULL.
C'est cette initialisation qui pose problème puisqu'après l'avoir supprimé je n'ai plus de core dumped et le traitement se termine parfaitement bien.
 
 
Ma question est donc : pourquoi l'initialisation du pointeur à NULL en début de fonction pose problème sous Linux red hat 5 alors que ça ne posait aucun problème sous Unix tru64 ?
 
Merci d'avance pour votre aide
 
 

mood
Publicité
Posté le 14-09-2011 à 16:15:07  profilanswer
 

n°2101553
gilou
Modérateur
Modzilla
Posté le 14-09-2011 à 16:59:52  profilanswer
 

Citation :

Une fois la valeur pointée par pt2 trouvée dans pt1, on fait donc pointer pt3 vers le 2eme éléments de la liste en utilisant la fonction strncpy.

[:louloup2]  [:louloup2]  [:louloup2]  

Citation :

Le problème était que lors de la copie vers pt3 j'avais un core dumped.

Ce qui est tout a fait normal si la taille correcte pour la copie (cas de valeur NULL du pointeur par exemple) n'a pas été allouée avant copie.  
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2101563
sal1
Posté le 14-09-2011 à 17:59:29  profilanswer
 

gilou a écrit :

Citation :

Une fois la valeur pointée par pt2 trouvée dans pt1, on fait donc pointer pt3 vers le 2eme éléments de la liste en utilisant la fonction strncpy.

[:louloup2]  [:louloup2]  [:louloup2]  
 
lol j'ai essayé d'être le plus clair possible, apparemment ça n'était pas suffisant.
 

Citation :

Le problème était que lors de la copie vers pt3 j'avais un core dumped.

Ce qui est tout a fait normal si la taille correcte pour la copie (cas de valeur NULL du pointeur par exemple) n'a pas été allouée avant copie.  
 
A+,


 
Ok, mais pourquoi ça marche sous True64 ?

n°2101576
gilou
Modérateur
Modzilla
Posté le 14-09-2011 à 19:29:19  profilanswer
 

Par hasard, probablement, mais sans voir le code, je ne peux être plus précis.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Problème core dumped sur pointeur de char

 

Sujets relatifs
tout ptit problème phpprobleme impression java
[Android] Problème avec WebViewSlider plein ecran - probleme IE - besoin d'aide
Problème avec un tableauprobleme matlab
problème pour trouver la bonne requête...probleme de parametre avec requete préparéee dans une méthode MVC
Probleme formulaire ACCESS 
Plus de sujets relatifs à : Problème core dumped sur pointeur de char


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR