C语言中的strtok函数

C语言中的strtok函数char*strtok(char*str,constchar*seq);seq参数时一个字符串,其定义了一个或多个的分隔符的字符集合第一个参数指定一个字符串,这个字符串里包括一个或多个seq参数的字符集合strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个指向这个小字符串的指针strtok函数会改变操作的字符串,所有在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改第一个参数不是NULL时,strtok函数查找str下一个标记,以\0结尾,strto

大家好,欢迎来到IT知识分享网。

char* strtok(char* str, const char* seq);

strtok函数存在一个静态变量

seq参数时一个字符串,其定义了一个或多个的分隔符的字符集合

第一个参数指定一个字符串, 这个字符串里包括一个或多个seq参数的字符集合
strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个指向这个小字符串的指针
strtok函数会改变操作的字符串,所有在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改
第一个参数不是NULL时,strtok函数查找str下一个标记,以\0结尾,strtok函数会保存标记的地址
第一个参数时NULl时,strtok函数从被保存的位置开始寻找下一个标记,
如果没有更多的标记则返回  NULL.

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

int main(){
	char arr1[] = "1@.22.@333.4444";
	char arr2[1024] = {0};
	strcpy(arr2, arr1); 
	//strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个指向小字符串的指针
	//strtok函数会改变操作的字符串,所有在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改 
	const char* p = "@."; //字符集合
	
	char* ret = NULL; //ret用来接收strtok函数返回的地址 
	//切割字符串 
	for(ret=strtok(arr2,p); ret!=NULL; ret=strtok(NULL,p)){
		printf("%s\n",ret);
	}

//	char* ret = strtok(arr,p);
//	printf("%s\n", ret);
//	
//	ret = strtok(NULL,p);
//	printf("%s\n", ret);
//	
//	ret = strtok(NULL,p);
//	printf("%s\n", ret);
//	
//	ret = strtok(NULL,p);
//	printf("%s\n", ret);
	
	return 0;
}

C语言中的strtok函数

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10856.html

(0)
上一篇 2024-03-26 21:00
下一篇 2024-03-28 16:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信