char *strtok(char *s, const char *delim);
作用:
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
说明:
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
返回值:
从s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。
所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。(如下面的例子,可修改 seps里面的数据,然后看输出结果)
下面是MSDN给出的例子:
1 #include <string.h>
2 #include <stdio.h>
3
4 charstring[] ="A string\tof ,,tokens\nand some more tokens";
5 char seps[] =" ,\t\n";
6 char*token;
7
8 void main( void )
9 {
10 printf( "%s\n\nTokens:\n", string );
11 /* Establish string and get the first token: */
12 token = strtok( string, seps );
13 while( token != NULL )
14 {
15 /* While there are tokens in "string" */
16 printf( " %s\n", token );
17 /* Get next token: */
18 token = strtok( NULL, seps );
19 }
20 }
linux下可以使用 strsep();