欢迎访问宙启技术站
智能推送

使用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函数时,传入strdelim作为参数;从第二次开始的调用中,传入NULL作为 个参数,以表示继续从上次结束的位置开始截取。通过循环,直至没有更多的子字符串可以截取,token变量的值将为NULL,循环结束。