加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言实现字符串分割(类似vb中split函数)

发布时间:2020-12-17 07:44:06 所属栏目:百科 来源:网络整理
导读:头文件:#include string.h 定义函数:char * strtok(char *s,const char *delim); 函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会

头文件:#include <string.h>

定义函数:char * strtok(char *s,const char *delim);

函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。

返回值:返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

范例

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

int main()
{
    int i;
    char *data[4];
	char str[]="data0|data1|data2|data3";

	char *delim = "|";
	char *p;
	data[0] = strtok(str,delim);
	for(i=1; (p = strtok(NULL,delim)) && i<4; i++)
		data[i] = p;

	for(i=0; i<4; i++)
        printf("%s ",data[i]);
    system("pause");
    return 0;
}

输出结果为:data0 data1 data2 data3

注意:strtok会破坏原字符串,如果需要保留原字符串可再建一个字符串来保存。当然也可以用sscanf函数来实现

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读