嵌入式 字符串分割(切分):strtok()与strsep()

原创 2013年12月02日 14:48:45

strtok()与strsep()都能够实现字符串的切分,但两个函数的使用方法略有不同。

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

#include <unistd.h>

int main()
{
    char * pp;
    char *cc = pp = (char *) malloc (sizeof(char)* 15);
    strcpy(cc,"cc;dd;3;4;5;");
    
    while(strcmp(pp,"")!=0)
    {
        printf("strsep: %s\n",strsep(&pp, ";")); //每次调用都会改变pp的指针地址
    }
    printf("cc:%x pp:%x\n",cc,pp); //此处可以看出cc的地址与pp的地址已经不同了
    
    strcpy(cc,"cc;dd;3;4;5;");    //重新初始化cc的内容,使用strok()进行字符串分割
    char *s = strtok(cc,";");
    printf("strtok:%s\n",s);
    while((s=strtok(NULL,";"))!=NULL)
        printf("strtok:%s\n",s);
    
    printf("cc:%s\n",cc);
    free(cc);
    return 0;
}

上面可以看出strsep()与strtok()的实现方法是有所不同的,使用过程中需要注意。
程序运行结果如下

嵌入式 <wbr>字符串分割(切分):strtok()与strsep()


相关文章推荐

字符串分割函数StringTokenizer与strtok,strsep的比较

StringTokenizer,strtok,trsep都用于分割字符串。但你注意到了吗?StringTokenizer和strtok都会主动过滤掉空字符串,而strsep则不会过滤空字符串。...

字符串分割函数---strtok和strsep函数

这几天处理字符串,突然遇到字符串分割问题,上网查了一些资料后,找到这两个函数,strtok与strsep函数。网上举的例子千篇一律,下面我根据函数的实现源码,记录一下使用说明,供大家讨论,欢迎大牛拍砖...

c语言字符串分割函数strtok

  • 2017年01月12日 10:38
  • 31KB
  • 下载

linux strsep字符串分割

函数定义 #include  char *strsep(char **stringp, const char *delim);     stringp是二级指针,即目标字符串首字符地...
  • Ronux
  • Ronux
  • 2014年06月06日 14:18
  • 1136

strsep字符串分割详解

关于标准c中的strtok和linux库里面的strsep2012-02-21 17:08:16 分类: LINUX strsep 函数原型:       ...

C语言sscanf()函数:从字符串中读取指定格式的数据&&C语言strtok()函数:字符串分割

头文件:#include sscanf()函数用于从字符串中读取指定格式的数据,其原型如下:     int sscanf (char *str, char * format [, argu...

strtok字符串分割函数

function strtok char * strtok ( char * str, const char * delimiters ); Split string i...

PHP字符串分割函数explode,strtok,str_spli的用法

PHP字符串函数在PHP网站开发中广泛使用,比如使用PHP字符串函数对字符串分割、截取、匹配、替换等处理。PHP字符串函数对于PHP入门学习者来说必不可少,本文将主要介绍PHP字符串分割函数处理心得,...

C语言 strtok 字符串分割

C语言 strtok 字符串分割参考:C++ 字符串分割方法 实现split:http://blog.csdn.net/u012005313/article/details/46483057 使用函数...

有关strtok函数进行字符串分割

最近读别人代码时,用到strtok函数进行字符串分割。其中有几个疑问: 1、为什么第一次调用时,第一个参数是原字符串,之后第一个参数是NULL即可。 2、第二个参数如果是字符串,而不是字符,那结果...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 字符串分割(切分):strtok()与strsep()
举报原因:
原因补充:

(最多只允许输入30个字)