1 2 3 4 5 6 7 8 9 10 11 12 13
#include <string.h> char *strtok(char *restrict s, const char *restrict sep) { static char *p; if (!s && !(s = p)) return NULL; s += strspn(s, sep); if (!*s) return p = 0; p = s + strcspn(s, sep); if (*p) *p++ = 0; else p = 0; return s; }