Bonjour j essaie de creer une fonction concat qui me concat des chaines de caracteres.
Voila comment je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char *concat(int nb, ...) {
     va_list vl;
     int i;
     char *res = "";
     char *tmp;
 
     va_start(vl, nb);
 
     for (i = 0; i < nb; i++) {
          tmp = va_arg(vl, char *);
          res = (char *) realloc(res, sizeof(tmp) + sizeof(res));
          sprintf(res, "%s%s", res, tmp);
     }
     return res;
}

cela me dit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
*** glibc detected *** realloc(): invalid pointer: 0x0804860c ***
d ou vient le problem ?

Merci