Bootstrap

strtok函数的基本使用


strtok的函数原型: char* strtok (char* str, const char* sep)

一、功能及解释:

1.包含在string.h头文件中
2.sep是个字符串,定义了用作分隔符的字符集合
3.第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记
4.strtok函数找到str中的下一个标记,并将其用’\0’结尾,返回一个指向这个标记的指针。(注意:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并可修改)
5.strtok函数的第一个参数不为NULL,函数将找到str中的第一个标记,strtok函数将保存它在字符串中的位置。
6.strtok函数的第一个参数为NULL,函数将在同一个字符串被保存的位置开始,查找下一个标记。
7.如果字符串中不存在更多的标记,则返回NULL指针。

strtok函数的简单运行

代码显示:

int main()
{
	char arr[] = "[email protected]";//包含sep字符串的字符串
	char* p = "@.";//分隔符的字符集合
	char buf[1024] = { 0 };
	strcpy(buf, arr);//把arr中的内容拷贝到buf中去

	char* ret = strtok(buf, p);//找到arr中的第一个标记并改为'\0',strtok函数将保存它在字符串的中的位置
	printf("%s\n", ret);//返回初始位置
	 ret = strtok(NULL, p);//找到下一个标记改为'\0',保存位置
	printf("%s\n", ret);//返回上一个标记的位置
	 ret = strtok(NULL, p);
	printf("%s\n", ret);
    return0; 
}

结果:
在这里插入图片描述

strtok函数的基本使用

代码显示:

int main()
{
	char arr[] = "[email protected]";//包含sep字符串的字符串
	char* p = "@.";//分隔符的字符集合
	char buf[1024] = { 0 };
	strcpy(buf, arr);//把arr中的内容拷贝到buf中去

	char* ret = NULL;//初始化ret
	for (ret = strtok(buf, p); ret != NULL; ret = strtok(NULL, p))
	{
		printf("%s\n", ret);
	}
	return 0;
}

结果:
在这里插入图片描述

;