C语言之strtok函数

【FROM MSDN && 百科】

原型: char *strtok(char *s, const char *delim);

#include

分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。

strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包涵的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针

s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。

DEMO:MSDN上的

#include 
#include 
#include 
char string[] = "A string\tof ,,tokens\nand some  more tokens";
char seps[]   = " ,\t\n";
char *token;
int main(void)
{
	printf( "Tokens:\n" );
    token = strtok( string, seps ); 
	while(token !=NULL)
	{
         printf("%s\n",token);
		 token=strtok(NULL,seps);
	}
	getch();
	return 0;
}

DEMO:

#include 
#include 
int main(void)
{
	char input[16]="abc,d,yuwen";
	char *p;
	p=strtok(input,",");
    if (p)
    {
		printf("%s\n",p);
    }
	p=strtok(NULL,",");
	if (p)
	{
		printf("%s\n",p);
	}
	getch();
	return 0;
}


你可能感兴趣的:(Basic,knowledge,of,C)