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

  FORUM HardWare.fr
  Programmation
  C

  Segfault ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Segfault ?

n°1338058
Dinan
Posté le 03-04-2006 à 18:27:05  profilanswer
 

Bonjour,
 
voilà mon code :
 

Code :
  1. int explode(char split, char *input, char ** tP)
  2. {
  3. int i = 0;
  4. tP[0] = input;
  5. for (i = 0; *input; *input++) {
  6.  if (*input == split) {
  7.   i++;
  8.   *input = '\0';
  9.   tP[i] = input+1;
  10.  }
  11. }
  12. return i;
  13. }


 
Que j'apel comme ceci :
 

Code :
  1. char **tP;
  2. ...
  3. nTok = explode(' ', pSock, tP);


 
La sortie GDB :
 
Program received signal SIGSEGV, Segmentation fault.
0x0804a7c3 in explode (split=32 ' ', input=0x804e018 "LOGIN para test",
    tP=0x804adb6) at kernel.c:43
43              tP[0] = input;
 
 
Ce que je ne comprend pas c'est que hier ca ne segfaultait pas :/
 
Merci !

mood
Publicité
Posté le 03-04-2006 à 18:27:05  profilanswer
 

n°1338062
Trap D
Posté le 03-04-2006 à 18:35:22  profilanswer
 

As-tu initialisé tp ?  Tu fais tp[0) = input, mais si tu n'as pas alloué de la mémoire à tp pour ranger tp[0], tu te ballades dans la nature,
Hier ça fonctionnait, ben oui, ce sont les joies du C !

n°1338067
Dinan
Posté le 03-04-2006 à 18:38:27  profilanswer
 

C'est vrai que j'aurait peut être du malloc mon tP :)
 
Ai-je moyen de lui donner une taille infini ?
 
Merci

n°1338077
Trap D
Posté le 03-04-2006 à 18:48:36  profilanswer
 

Non, mais tu peux choisir une taille "assez grande", la mémoriser, et en cas de besoin la doubler avec un realloc.

n°1338081
Dinan
Posté le 03-04-2006 à 18:51:12  profilanswer
 

Oué, bien ce que je pensait.
 
Merci.
 

n°1338152
Taz
bisounours-codeur
Posté le 03-04-2006 à 19:59:55  profilanswer
 

tp n'est pas initialisé

n°1338266
Trap D
Posté le 03-04-2006 à 22:37:55  profilanswer
 

Taz a écrit :

tp n'est pas initialisé

T'as pas l'impression d'être comme les carabiniers, d'arriver après la bataille ?   :)  


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

  Segfault ?

 

Sujets relatifs
[ C ] Archi-debutant segfault sur petit programme :-([XSL][JAVASCRIPT] Document.write => Segfault
[MinGW/Boost.Thread] Segfault multi-threadingPERL : traquer une segfault
Plus de sujets relatifs à : Segfault ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)