vimer linux kernel 爱好者

c库-字符串

2019-12-18

strtok

这个函数还是挺特殊的,特意记录下。先看代码:

int main()
{
	char str[80] = "This is my website";
	const char s[2] = " ";

	char* token;

	token = strtok(str, s);
	while(token != NULL){
		printf("%s\n", token);
		token = strtok(NULL, s);
	}
	return 0;
}

这里有一个违反直觉的使用方法,在while循环中,居然在使用strtok时传递给NULL参数, 这不对啊,那样的话,指针指向什么地方了?原来在第一次分割后 根据分隔符已经产生了”this”,也就是token指向了”this”,但是,str的指针存在一个静态 变量中,后面使用strtok函数传递给的参数NULL,只是一个符号。 以上,就是使用strtok的基本规则。


上一篇 Cmake简要总结

Comments

Content