strtok

strtokは、指定された文字列(文字配列)を、指定された区切り文字の集合のいずれかで区切って、文字列を切り出す。

Man page of STRTOK
C言語関数辞典 - C言語Tips集 文字列を指定文字で分割する

気を付けなければいけないのは、渡した文字列に指定された区切り文字がみつかったら、そこに'\0'を代入することで区切っているというstrtokの手法。
つまり、渡した文字列が破壊されてもいい場合に、これを使ってもよいということである。なので、第1引数は、const char *ではなく、char *になっている。
元の文字列が壊されては困る場合、別の方法で取り出す必要がある。

カンマと改行とスペースのどれかが含まれていたら、区切るようになっている。
strtokの特徴として、最初は対象となる文字列、2回目以降はNULLを渡すという仕様になっている。
戻り値にtokenが返ってくるので、それを出力している。

$ vi strtok.c
$ gcc strtok.c -o strtok
$ ./strtok
token = ABC
token = DEF
token = GHI
token = JKL
token = MNO
token = PQR
$

1行目はカンマ、2行目はスペース、もちろん改行もしているわけだが、平等に切り出されている。

Sample/c/strtok/strtok/src/strtok at master · bg1bgst333/Sample · GitHub