Jméno
strtok — Vyhledání tokenů v řetězci.
Přehled
#include <string.h>
char *strtok( | str,  |   | 
|   | delim); |   | 
char   | str; | 
const char *  | delim; | 
char *strtok_r( | str,  |   | 
|   | delim,  |   | 
|   | saveptr); |   | 
char   | str; | 
const char *  | delim; | 
char **  | saveptr; | 
Popis
Funkce strtok rozděluje řetězec na sekvenci tokenů.  Při prvním volání musí parametr str ukazovat na řetězec který chceme rozdělovat.  Funkce si tento řetězec zapamatuje.  Při dalších voláních se na místě parametru str předává NULL.
Argument delimje množina znaků, které oddělují tokeny.
Příklady použití
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DELIM " ,.-"
int main() {
        FILE *fin;
        int lineno=0;
        char *token, *p, line[80];
        if ((fin = fopen("source", "r")) == NULL) {
                perror("source");
                exit(1);
        }
        while (fgets(line, sizeof(line), fin) != NULL) {
                if ((p = strrchr(line, '\n')) != NULL) *p = '\0';
                printf("%02d: '%s'\n", ++lineno, line);
                token = strtok(line, DELIM);
                while (token != NULL) {
                        //DEBUG:printf("line='%s'\n", line);
                        printf("token='%s'\n", token);
                        token = strtok(NULL, DELIM);
                }
        }
        return 0;
}