C中strtok()函数和strtok_r()函数

本文介绍了C语言中的strtok和strtok_r函数,重点讨论了strtok函数在处理字符串分隔时的问题以及如何通过strtok_r函数来解决这个问题。通过示例展示了strtok_r函数在连续切分字符串时如何维护指针状态,提高了代码的灵活性和安全性。
摘要由CSDN通过智能技术生成

1.

函数名:strtok

功能:查找由第二个串指定的分界符分开的单词

用法:char   *strtok(char   *str1,   char   *str2)

一个例子:

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

int main()
{
        char input[16] = "abc,d";
        char *p; 
        p = strtok(input, ",");
        if(p) 
                printf("%s\n", p); 
        p = strtok(NULL, ",");
        if(p)
                printf("%s\n", p); 
        return 0;
}
第一次执行要以input为第一参数,第二次执行要以NULL为第一参数.

执行结果为

abc

d

第二个例子:

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

int main()
{
        int in = 0;
        char buffer[20] = "Fred,John,Ann";
        char *p[3];
        char *buf = buffer;
        while((p[in] = strtok(buf, ",")) != NULL)
        {   
                in++;
                buf = NULL;
        }   
        printf("buffer = %s\n", buffer);
        printf("p1 = %s\n", p[0]);
        printf("p2 = %s\n"
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值