方法一:采用 strtok()
函数
声明
下面是 strtok() 函数的声明。
char strtok(char str, const char *delim)
参数
- str — 要被分解成一组小字符串的字符串。
- delim — 包含分隔符的 C 字符串。
返回值
该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。实例
下面的实例演示了 strtok() 函数的用法。实例
```cinclude
include
int main () { char str[80] = “This is - www.runoob.com - website”; const char s[2] = “-“; char *token;
/ 获取第一个子字符串 / token = strtok(str, s);
/ 继续获取其他的子字符串 / while( token != NULL ) { printf( “%s\n”, token );
token = strtok(NULL, s);
}
return(0); }
<a name="NPUtY"></a>
## 方法二:C语言实现split
```c
#include<stdio.h>
#include <string.h>
int split(char *str, const char *delim, char dst[][80]) {
char *s = strdup(str);
char *token;
int n = 0;
for(token = strsep(&s, delim); token != NULL; token = strsep(&s, delim)) {
strcpy(dst[n++], token);
}
return n;
}
int main(void) {
char source[] = "hello, world! welcome to china!";
char delim[] = " ,!";
char dst[10][80];
int cnt = split(source, delim, dst);
for (int i = 0; i < cnt; i++)
printf("%s\n",dst[i]);
return 0;
}