|
原型:
#include <string.h>
char *strtok(char *str, const char *delim);
说明:
该函数将一个字符串进行分解成各个标记。一般的,这些标记都会被分隔符隔开(如文章中的逗号,双引号,句号等标点符号)。
在第一次使用该函数时,必须在第 1 个参数中指定字符串,而在后续对该函数的使用时,由于解析的是同一个字符串,所以此时 str 需要指定为 NULL 。第 2 个参数是要分解字符串的分隔符。每次调用该函数时,返回的是一个非空指针,该指针指向下一个标记。所以,如果一直调用该函数,那么该函数最终返回的是一个空的指针。
描述虽然复杂,用代码看上去则显得直观且易于理解:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str[128] = {"100,101,102,103,104,105"};
int i;
char *g;
for (i = 0, g = strtok(str, ","); g != NULL; g = strtok (NULL, ","), i++)
printf ("%s\n", g);
return (0);
} 运行与输出: ./strtok
100
101
102
103
104
105 |
|