Un pb avec strcat
Uzumaki
-
Titoo -
Titoo -
salut tt le monde,
g un problème de concaténation de chaines de caractères en C;
voila le problème, g besoin d'une fonction qui me permet de concaténer un nombre variable de chaines de caractères, donc g écris ce code:
char *concat (char *str, ...){
va_list pa;
char *s, *str2=NULL;
char *str1;
size_t size=0;
size += strlen (str);
va_start (pa, str);
while ((str2 = va_arg (pa, char*)) != NULL)
{
size += strlen (str2);
}
va_end (pa);
str1 = (char *)malloc(size+1);
strcat(str1, str);
va_start(pa, str);
while ((str2 = va_arg(pa, char *)) != NULL){
str1 = strcat(str1, str2);
}
va_end(pa);
return str1;
}
dans la compilation ya 0 erreurs
il me génère une exeption dans l'éxécution
je sai que le probleme vient de: str1 = strcat(str1, str2);
mai je sai pas coment le résoudre
si quelqu'un a une solution, ça sera gentil de me la passer :)
g un problème de concaténation de chaines de caractères en C;
voila le problème, g besoin d'une fonction qui me permet de concaténer un nombre variable de chaines de caractères, donc g écris ce code:
char *concat (char *str, ...){
va_list pa;
char *s, *str2=NULL;
char *str1;
size_t size=0;
size += strlen (str);
va_start (pa, str);
while ((str2 = va_arg (pa, char*)) != NULL)
{
size += strlen (str2);
}
va_end (pa);
str1 = (char *)malloc(size+1);
strcat(str1, str);
va_start(pa, str);
while ((str2 = va_arg(pa, char *)) != NULL){
str1 = strcat(str1, str2);
}
va_end(pa);
return str1;
}
dans la compilation ya 0 erreurs
il me génère une exeption dans l'éxécution
je sai que le probleme vient de: str1 = strcat(str1, str2);
mai je sai pas coment le résoudre
si quelqu'un a une solution, ça sera gentil de me la passer :)