Bonsoir,

Je cherche à recoder la fonction strtok, cependant je ne comprends pas son principe.

Dans un premier temps, il cherche le premier séparateur dans la chaine et le remplace par un '\0'. Jusqu'à là, ok, mais c'est ce qui suis que je ne comprends pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ptr = strtok(NULL, sep);
Je ne vois pas comment cette fonction peut manipuler la chaine sur laquelle je travaillais précédemment. Comment un pointeur NULL peut-il pointer vers la cellule qui se trouve juste après le '\0' que la fonction a placé avec l'appel précédente? Est-ce une histoire de bufferisation?

Bref, je suis perdu. Merci pour votre aide.