linux 中strtok和strsep字符分割函数

文章介绍了Linux环境中用于字符串分割的两个函数——strtok和strsep。strtok函数通过指定的分隔符对字符串进行逐段分割,而strsep则使用二级指针处理字符串,两者在使用上有一定的区别,例如strtok在后续调用时需传入NULL作为第一个参数,而strsep则直接修改输入的字符串指针。

linux 中strtok和strsep字符分割函数

1.strtok

//函数原型
char *strtok(char *str, const char *delim);

str 带分割字符串    delim分割符
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
	char str[48] = "hello.this.is.strtok.test";
	char *buf =  NULL;
	char *delim = ".";
	char *ret = NULL;
	buf = str;
	printf("-------src  [%s]    delim  [%s]--------\r\n",buf,delim);
	for(ret = strtok(buf,delim);NULL != ret;ret = strtok(NULL,delim))
	{
		printf("ret = %s\r\n",ret);
	}
}

在这里插入图片描述

2.strsep

//函数原型
char *strsep(char **stringp, const char *delim);

stringp 带分割字符串(注意这里是二级指针,&取地址)    delim分割符
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
	char str2[24] = "this-is-strsep-test";
	char *delim = "-";
	char *ret = NULL;
	char *buf = str2; 
	printf("-------src  [%s]    delim  [%s]--------\r\n",buf,delim);
	for(ret = strsep(&buf,delim);NULL != ret; ret = strsep(&buf,delim))
	{
		printf("ret = %s\r\n",ret);
	}
	return 0;
}

在这里插入图片描述

strtok注意在使用的时候第二次传入的值为NULL,strsep取地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

华阳电子工作室

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

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

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

打赏作者

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

抵扣说明:

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

余额充值