关于strtok()函数的使用
函数原型:char *strtok(char *str, const char *delim);
参数:
str:要被分解成一组小字符串的字符串。
delim:包含分隔符的 C 字符串。
返回值:该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。
示例1:
有时候我们需要将很长的字符串进行分割,分隔条件是以符号为界限,如下所示:
#include <string.h>
#include <stdio.h>
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);
}
该例子是以 ‘-’ 为分割符将字符串内容进行分割,分割结果如下:
This is
www.runoob.com
website
示例2:
同样我们也可将分隔符自定义,或者定位多个,如下所示:
#include <string.h>
#include <stdio.h>
int main () {
char str[80] = "432000-518400,259200-345600,518400-604800,172800-259200,";
const char s[2] = ",-";
char *token;
/* 获取第一个子字符串 */
token = strtok(str, s);
/* 继续获取其他的子字符串 */
while( token != NULL ) {
printf( "%s\n", token );
token = strtok(NULL, s);
}
return(0);
}
该例子分隔符为 ‘,-’ ,则会将字符串中的所有数字分割出来,结果如下
432000
518400
259200
345600
518400
604800
172800
259200
以上就是关于strtok()函数的简单使用,当需要进行字符串进行分割是还是非常好用的。