拆分字符串

strtok函数

函数原型: char *strtok(char *str, const char *delim);
返回值:char*
参数:都为char*
头文件:#include<string.h>
第一个参数:需要分隔的字符串
第二个参数:分隔符

将字符串以,为间隔进行查分
将 dld,123,yos拆分为 dld 123 yos分别存入vector中

// 分隔符为,
const char* separator=",";
char data[128];
char* date_split;
vector<char*> every;

date_split = strtok(data,separator);
while (QR_date_split != NULL)
{
  cout <<"数据:" << date_split << endl; 
  every.push_back(date_split);  
	date_split = strtok(NULL, separator);
}

strtok_s函数

由于strtok()函数是线程不安全的,对其进行了改进,改进后的函数命名为strtok_s()

原型: char *strtok_r(char *str, const char *delim, char **saveptr);
用法与strtok函数相同
第三个参数设为NULL就可以

	char* ptr = NULL;
	token = strtok_s(string, seps, &ptr);//相较于strtok()函数,strtok_s函数需要用户传入一个指针,用于函数内部判断从哪里开始处理字符串
	while (token != NULL) {
		printf("%s\n", token);
		token = strtok_s(NULL, seps, &ptr);//其他的使用与strtok()函数相同
	}
const char* separator=",";
char data[128];
char* date_split;
vector<char*> every;

char* ptr = NULL;
	
date_split = strtok(data,separator,&ptr);
while (QR_date_split != NULL)
{
  cout <<"数据:" << date_split << endl; 
  every.push_back(date_split);  
	date_split = strtok(NULL, separator, &ptr);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值