原型:char *strsep(char **stringp, const char *delim); 功能:分解字符串为一组字符串。
示例:
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "root:x::0:root:/root:/bin/bash:";
char *buf;
char *token;
buf = str;
while((token = strsep(&buf, ":")) != NULL){
printf("%s\n", token);
}
return 0;
}
再一个示例程序:
#include <stdio.h>
#include <string.h>
void main()
{
char str[]="Number=100&maxMtu=200";
char *name,*value,*next;
int i;
value=str; //使指针value 指向字符串str;
for(i=0 ;i<2 ;i++)
{ // 第一次执行时
name = strsep(&value,"="); // 以"="分割字符串,这时strsep函数返回值为 "Number",即"="号之前的字符串
next =value; // 这时指针value指向"="号后面的字符串,即"100&maxMtu=200"
value=strsep(&next,"&"); // 这时通过"&"分割字符串,返回值为100,next指 向"maxMtu=200"
printf(" name= %s\n",name); //打印出一轮分割后name的值
printf("value= %s\n",value);
value=next;
}
}
执行结果为:
name= Number
value= 100
name= maxMtu
value= 200
c 语言 实现如下:
分享到:
相关推荐
strstr,strdup,strsep 三函数实现
C语言分隔字符串函数接口strsep int strsep(char* line, char* lines[MAXSUBSTR], char* delim) 利用strtok实现
C语言函数手册
信号处理篇 内存及字符串操作篇 ... 常用数学函数篇 接口处理篇 数据结构及算法篇 文件内容操作篇 文件操作篇 文件权限控制篇 日期时间篇 环境变量篇 用户组篇 终端控制篇 进程操作篇
strcpy,strncpy,strcat,strncat,strcmp,strncmp,strchr,strnchr,strlen,strnlen,strspn,strpbrk,strtok,strsep,memset,bcopy,memcpy,memmove,memcmp,memscan,...函数具体实现内容。对理解C语言和C编程有很大帮助。
Linux 常用C函数 中文版
后来作业交上去以后又仔细阅读了strtok函数,发现原来linux下已经改成strsep,所有在这里就写一下自己所走的过程。 2、自己写的字符串分割函数:用于分割指令,比如cat a.c最后会被分割成cat和a.c两个字符串、mv a.c...
这个例子从文本文件ad9361.txt一行一行读取数据,通过spi设置寄存器值。支持命令读写:spidev_test -r F1 -w A0,-r参数表示寄存器地址,-w表示要写入的值,均为16进制(不要加0x开头)
大家使用gcc在windows下开发软件,有两个途径,一、Cygwin,二、Mingw32 Cygwin可以使用autoconf,automake,libtool,libiconv and gettext(I18N/L10N) 进行完整的开发, 但由于Cygwin 封装了一层底层库,所以运行速度...
2. gdb 调试多线程 4. 三年回首:C基础 6. strsep和strtok_r替代strtok 7. 缓存穿透和缓存失效 8. mmap为什么比read