agrandir un tableau de pointeur

agrandir un tableau de pointeur - C++ - Programmation

Marsh Posté le 26-11-2002 à 00:17:43    

je cherche a faire un prog qui puisse agrandir un tableau de ptr:
 

Code :
  1. #include <stdio.h>
  2. #define TAILLE 3
  3. void AjouterString(char*** p,const char* str)
  4. {
  5.     int i=0;
  6.     char **copy;
  7.     copy=(char**)malloc((TAILLE+1));
  8.     for(i=0;i<TAILLE;i++)
  9.       copy[i] = (*p)[i];
  10.     // free(*p);   //provoque un segmentation fault???
  11.     copy[TAILLE]=(char*)str;
  12.     *p=copy;
  13. }
  14. void AfficherString(char** pStr)
  15. {
  16.    int i=0;
  17.    while(i<TAILLE+1)
  18.      {
  19.        printf("%s\n",pStr[i]);
  20.        i++;
  21.      }
  22. }
  23. int main()
  24. {
  25.   char *pStr[]={"Une","chaine","bidon"};
  26.   AjouterString(&pStr,"!" );
  27.   AfficherString(pStr);
  28.   return 0;
  29. }


 
j'avais tester ce code avec un tableau de int* ça marchait, mais  avec des chaînes de caractères, l'affichage de la dernière chaine ne se fait pas (à la place j'ai des caractères bidons!), de plus je ne comprend pas pourquoi un free(*p) dans AjouterString provoque un segmentation fault
 
si quelqu'un voit le pbm....


Message édité par weblook$ le 26-11-2002 à 00:21:35
Reply

Marsh Posté le 26-11-2002 à 00:17:43   

Reply

Marsh Posté le 26-11-2002 à 00:32:36    

Juste comme ça, peux tu m'indiquer quel malloc a alloué la mémoire que tu vas liberer avec free ?
 
Révise tes cours de C sur l'allocation mémoire pour ne plus faire cette erreur, et en cadeau bonus tu trouveras probablement la commande realloc ;)

Reply

Marsh Posté le 26-11-2002 à 00:37:27    

ok pour le free :sarcastic:  
Je voudrais justement simulé le fonctionnement de realloc, donc si on pouvais me dire ou mon prog coince?

Reply

Marsh Posté le 26-11-2002 à 00:50:46    

bon ok en utilisant un char** ptr dans le main tous roule  :)
 
Mais comment faire alors avec un tableau de ptr statique??

Reply

Marsh Posté le 26-11-2002 à 04:30:12    

statique ?
Mais... ça se redimensionne pas !


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Marsh Posté le 26-11-2002 à 16:50:51    

Musaran a écrit a écrit :

statique ?
Mais... ça se redimensionne pas !




 
ouais réflexion faite ça paraît logique... :sarcastic:  


Message édité par weblook$ le 26-11-2002 à 16:51:57
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed