strtok的通俗使用

strtok 是一个用来将字符串进行分割的方法,这个方法的核心是p的使用,何以见得呢,我们仔细看一下:

首先我们定义一个字符串(“我,好:帅”)

显然,经过:和,可以将这个字符串分割成三个部分,所以我们使用一个char*p[3];

我们使用strtok将字符串进行了切割因此我们的定义是:

我们使用了p[i] = strtok(str,",:");

也就是我们将str通过,和:进行了分割

这里有两个很重要的概念需要我们理解

p是一个指针,所以它指向的是我们现在到哪里看到了我们的第i个,或者是;   而str则会被这个指针进行分割,我们完整的操作是

while(p!=NULL)

{        

        i++;

        p[i] = strtok(NULL,", ;");

}        

for(j = 0;j<i;j++)

为什么这里使用NULL就可以了?

因为strtok这个函数很特殊,他可以知道一点,那就是一旦你已经切割过了,那么经过后续操作之后我们的p【i】会就这上一次切割过的结果再继续切割下去了。

事实上strtok的操作的一个核心就是,他会把自己见到的所谓的,;等分隔符变成\0,这样下次见面的时候我们就是敌人了(笑),是后边就不见了。

同时p[i] 存放的是目前为止已经有的str的分割的每一个部分了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值