字符串切割strtok()函数介绍

字符串切割函数——strtok()函数介绍

1.      函数功能介绍

strtok()函数作用于字符串,以包含在delimiters中的字符为分界符,将s切分成一个个子串;如果s为空值NULL,则函数保存的指针SAVE_PTR在下一次调用中将作为起始位置

2.      函数原型

strtok()函数包含在头文件string.h中,函数的原型如下:

char* strtok (char* str,constchar* delimiters );

3.      函数参数和返回值

①       传入参数

从函数原型可以看出,该函数需要传入两个参数:一个是要分割的字符串首地址str;一个是常量分割标志字符串的首地址delimiters。

②       函数返回值

当s中的字符查找到末尾时,返回空指针;如果未找到到delimiters内的字符,则返回当前strtok()操作的字符串的指针,下次调用时,将上次执行结束前访问到的字符串s的位置作为新的起始位置。

l  函数的使用

例如,我们想要实现将以下字符串按照字符’#’进行切割,并得到切割结果。

源字符串:

Anhui#Normal#University#is#a#beautiful#college#campus#with#a#long#history.

目标结果:

Anhui Normal University is a beautiful college campus with a long history.

实现代码如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char s[]="Anhui#Normal#University#is#a#beautiful#college#campus#with#a#long#history.";
	char *temp=strtok(s,"#");
	while(temp!=NULL)
	{
		printf("%s ",temp);
		temp=strtok(NULL,"#");
		//下次调用时,将上次执行结束前访问到的字符串s的位置作为新的起始位置,因此这里传入的参数str需要设置为空。 
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章