Augmenter la taille d'un tableau en C

Résolu
joannas Messages postés 17 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,
Je voulais savoir comment augmenter la taille d'un tableau en C si on avait deja reserver de l'espaces memoirre ave la fonction malloc;
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. joannas Messages postés 17 Statut Membre 1
     
    merci
    1
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Avec realloc
    0
    1. joannas Messages postés 17 Statut Membre 1
       
      Comment on utilise realloc donne moi un exemple stp
      0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,
    lami20j@debian:~/trash$ cat ccm37_realloc.c
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    int main()
    {
            char *message,s[255];
    
            printf("Chaine? ");
            fgets(s,255,stdin);
            message=realloc(NULL,strlen(s)+1);
            strcpy(message,s);
            printf("%s",message);
    
            printf("Chaine? ");
            fgets(s,255,stdin);
            message=realloc(message,(strlen(message)+strlen(s)+1));
            strcat(message,s);
            printf("%s",message);
            return 0;
    }
    lami20j@debian:~/trash$ gcc ccm37_realloc.c
    lami20j@debian:~/trash$ ./a.out
    Chaine? Je suis en train
    Je suis en train
    Chaine? de te montrer realloc
    Je suis en train
    de te montrer realloc
    lami20j@debian:~/trash$
    
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Salut,

      s/return 0;/free(message);\n/return 0;/

      ;)
      Cdlt
      0
      1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Salut,

        Oui, tu as raison ;-))
        J'ai encore oublié. Je ferai plus d'attention la prochaine fois, c'est promis ;-)

        Pour la regex en revanche tu pouvais écrire ;-)
        s/(?=return 0;)/free(message);\n/
        --
        106485010510997108
        0