"A,,C"を"A"、""、"C"と分けることができるstrtok2()

末尾に達するとNULLを返すようにしました。

char* strtok2(char* str, const char* token)
{
    static char* last = NULL;
    char* start = (str != NULL) ? str : last;
    if (start == NULL) return NULL;
    char* p = start;
    while (*p != '\0') {
        if (strchr(token, *p) != NULL) {
            *p = '\0';
            last = p+1;
            return start;
        }
        p++;
    }
    last = NULL;
    return start;
}