使用strtok函数实现按指定分隔符截取字符串
发布时间:2023-12-04 07:43:40
标准C库中的strtok函数可以将字符串按照指定的分隔符进行截取。其原型如下:
char *strtok(char *str, const char *delim);
该函数的参数包括:
- str:要被截断的字符串, 次调用时传入该参数,后续调用传入NULL。
- delim:分隔符字符串,指定用于分隔字符串的字符。
该函数的返回值是截取到的子字符串,如果字符串已经被截取完毕,则返回NULL。
下面是一个使用strtok函数的示例,用于按逗号分隔字符串并逐个打印截取到的子字符串:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,World,this,is,a,test";
const char delim[] = ",";
// 次调用
char *token = strtok(str, delim);
// 从第二次开始,传入NULL作为 个参数
while (token != NULL) {
printf("%s
", token);
token = strtok(NULL, delim);
}
return 0;
}
运行结果如下:
Hello World this is a test
在上述示例中,原始字符串str被以逗号为分隔符进行截取,将截取到的子字符串依次打印输出。 次调用strtok函数时,传入str和delim作为参数;从第二次开始的调用中,传入NULL作为 个参数,以表示继续从上次结束的位置开始截取。通过循环,直至没有更多的子字符串可以截取,token变量的值将为NULL,循环结束。
