cs_ProGamer
Messages postés44Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention 1 février 2022 17 juil. 2002 à 00:51
Hé mais attendez ! La fonction main d'un programme DOS renvoie comme argument un tableau de chaines de caractères, non ? Donc, c'est bien possible d'en faire simplement ?
/* On alloue un tableau de pointeurs char * */
char **tabString=malloc(sizeof(char*) * NB_ELEMENTS);
/* Pour chaque élément du tableau, il faut allouer l'espace pour la chaine */
tabString[0]=malloc(strlen(CHAINE) + 1);
strcpy(tabString[0], CHAINE);
/* Soit plus simplement, utiliser la fonction strdup() qui fait le malloc() et le strcpy() */
tabString[1]=strdup(CHAINE);
tabString[2]=strdup(CHAINE);
/* .......... */
/* Libération de la mémoire */
for(i=0;i<NB_ELEMENTS;i++)
free(tabString[i]);
free(tabString);
Vous n’avez pas trouvé la réponse que vous recherchez ?