J'ai eu un soucis aujourd'hui avec "strtok()".
J'avais fait une fonction qui convertit une chaîne composée de nombres séparés par un caractère (style "10:20:30" ) en structure contenant chaque nombre dans un tableau. J'utilisais donc gaillardement "strtok" et remplissais ma structure dans une boucle. Jusque là, ok
J'ai eu ensuite à traiter un fichier contenant sur chaque ligne plusieurs de ces suites de nombres, séparés par une virgule, style "10:20:30,40:50:60". Je prends donc ma ligne, et là, je lance "strtok" pour découper mes suites. Et puis chaque suite je la passe à ma fonction qui, elle aussi, utilise "strtok" pour découper chaque nombre. Et là, gros pb. Les "strtok()" ne peuvent pas s'empiler et j'ai eu n'importe quoi.
J'imagine que la fonction doit contenir un pointeur static qui mémorise le dernier emplacement pour repartir du même endroit lors de l'appel suivant. Tant que les appels se suivent séquentiellement, tout va bien. Mais s'il faut les empiler, ça va plus !!!
Conclusion: strtok c'est un bel outil, mais il faut être très prudent avec...
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.