Pas de dépendances
#include <stdio.h> #include <string.h> int main() { char* sub; char chaine[] = "Bonjour, comment allez vous ? Moi impec !"; sub = strtok(chaine,",?! "); while(sub) { printf("%s\n",sub); sub = strtok(NULL,",?! "); } return 0; }
Voici une fonction fort pratique. Vous avez une chaine, vous souhaitez la découper selon certains délimiteurs. Vous faites un strtok sur la chaine, en passant vos délimiteurs, ici ",?! ". (avec l'espace à la fin) Puis pour découper la suite, vous relancez la fonction avec NULL comme premier paramètre. Essayez en changeant la chaine (dans les 2 strtok) sans mettre l'espace, pour voir. Note : strtok n'est pas thread safe. Note : la chaine d'entrée est altérée. Si vous regardez "chaine" à la fin, vous n'obtenez que "Bonjour"