Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'fonction explode'.
1 résultat trouvé
-
Bonjour à tous, Je vais vous fournir une fonction "explode" qui vous permettra de découper une chaine de caractères grâce à un délimiteur. I - Manuel de "explode": NOM: explode - découpage de chaine de caractères. SYNOPSYS: char **explode(char *chaine, char *delimiteur); DESCRIPTION: La fonction explode vous permettera de découper la chaine "chaine" grâce au délimiteur "delimiteur". Plusieurs délimiteurs peuvent être utilisés en les mettant l'un à côté de l'autre (ex: " \t.,") ou un mot complet (ex: "coucou"). Attention: la chaine "chaine" sera modifiée après l'utilisation de explode. Si vous souhaitez la garder, pensez à la stocker! (ex: strdump). VALEUR RENVOYÉE: La fonction explode renverra un tableau de chaines de caractères contenant, dans chacune des cases, une des itérations trouvées. Si aucune itérations n'a été trouvée, explode renverra une version dumpée de la chaine chaine. Si une erreur survient, explode renverra NULL. VOIR AUSSI: strtok(3) COPYRIGHT: La fonction explode a été crée par AlexMog ainsi que cette page de manuel. II - Le code: /* ** Code created by AlexMog ** Created the 10/04/2014 at 05:42pm. ** Last update by AlexMog the 10/04/2014 at 05:56pm. ** Please, leave the copyright. */ #include <string.h> char **explode(char *chaine, char *delimiter) { char **ret; char *word; int size; ret = NULL; word = strtok(chaine, delimiter); size = 0; while (word != NULL) { ret = realloc(ret, (size + 2) * sizeof(char*)); if (ret == NULL) return (NULL); strcpy(ret[size], word); word = strtok(NULL, delimiter); ++size; } if (ret != NULL) ret[size] = NULL; return (ret); } J'espère que vous ferrez bon usage de ce code . N'hésitez pas à me faire vos retours en cas de bugs. Enjoy programming Cordialement, AlexMog.