【ARM 嵌入式 C 字符串系列 23.4 -- 字符串分割函数 strtok 介绍 】

字符串分割函数strtok

在C语言中,可以使用strtok()函数来按照空格将接收到的字符串分割成子字符串。下面是一个简单的示例,展示了如何将一个字符串按空格分割成3个子字符串。

#include <stdio.h>
#include <string.h>

int main(void)
{
    char str[100] = "I love you"; // 示例字符串
    char *token; // 用于保存每次调用strtok()返回的子字符串
    int count = 0; // 计数器,用于确保最多分割成3个子字符串
    
    // 使用strtok()分割字符串,第一次调用需要传入原始字符串
    token = strtok(str, " ");
    while(token != NULL && count < 3) { // 继续分割直到没有更多的子字符串,或者已经分割成3部分
        printf("%s\n", token); // 打印子字符串
        token = strtok(NULL, " "); // 继续调用strtok(),传入NULL表示继续分割上一次的字符串
        count++; // 增加计数器
    }

    return 0;
}

代码测试

[08:16:42] (*^~^*) ~/zhugong/workbase/test$ gcc strtok.c -o strtok
[08:16:56] (*^~^*) ~/zhugong/workbase/test$ ./strtok
I
love
you

这个程序首先定义了一个示例字符串"This is a test",然后使用strtok()函数按空格分割这个字符串。strtok()函数的第一个参数在首次调用时是原始字符串,之后的调用应传入NULL,以指示继续从上次停下的地方开始分割。第二个参数是一个包含分隔符的字符串,在这个例子中是一个空格字符" "

请注意,strtok()函数在原始字符串上进行修改,将找到的分隔符替换为\0字符(字符串结束符)。因此,如果你需要保留原始字符串,应该先对其进行复制。

这个程序将会按照空格分割字符串,最多分割成3个子字符串,并将它们打印到控制台。由于我们的示例字符串中有3个空格,按照这个逻辑,它会被完全分割成4个子字符串,但由于我们的循环限制了最多处理3次,所以只会处理前3个空格分割出的子字符串。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公CodingCos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值