Bonjour,
est il possible d'ajouter une char * dans un char ** qui contient déja des chaines de caractére ? Si oui, je veut bien des pistes :)
Merci
Version imprimable
Bonjour,
est il possible d'ajouter une char * dans un char ** qui contient déja des chaines de caractére ? Si oui, je veut bien des pistes :)
Merci
Ce que tu veux faire n'est pas très clair, un char** est un tableau de char*, donc de chaine de caractères.
Si tu alloues assez d'espace pour ton char**, exemple ici pour 10 chaines de caractère :
Alors tu peux utiliser ces 10 espaces en veillant bien à ne pas dépasser la limite de 50 caractères par chaine.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // On alloue notre tableau. char** mes_chaines = malloc(sizeof(char*) * 10); // On alloue chaque case pour des chaines de caractères de 50 char. int taille_chaine = 50; for(i=0; i < 10; ++i) mes_chaines[i] = malloc(sizeof(char) * taille_chaine); // On libère la mémoire une fois qu'on en a plus besoin // D'abord pour chaque chaine. for(i=0; i < 10; ++i) free(mes_chaines[i]); // Ensuite pour le tableau de pointeur. free(mes_chaines);
Si tu veux concaténer deux chaines, il suffit de vérifier qu'il y a bien la place pour la concaténation et puis d'utiliser la fonction strcat définie dans string.h.
N'oublie pas de terminer tes chaines de caractère par le caractère '\0'. C'est de cette façon que printf("%s", chaine) trouve la fin de ta chaine et toutes les autres fonctions du C d'ailleurs.
En espérant avoir aidé :)
sinon c'est beaucoup plus simple de manipuler une liste chainée de char *