strtok函数详解

1    char * strtok ( char * str , const char * sep );

内容:

1.sep参数指向一个字符串,定义了用作分隔符的字符集合

2.第一个参数指定一个字符串,它包含0个或多个由sep字符串中一个或多个分隔符分割的标记

3.strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个指向这个标记的指针。(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且课修改。)

4.strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保留它在字符串中的位置。

5.strtok函数的第一个参数为NULL,函数将在同一个字符串中被保留的位置开始,查找下一个标记

6.如果字符串中不存在更多的标记,则返回NULL指针

使用例子:

arr1     "[email protected]"        arr2     "@."

第一步:strtok(arr1,arr2)------->   arr1    "zhangsan\0163.com"        char*s="zhangsan"               记录"163.com"位置

第二步:strtok(NULL,arr2)-------->   arr1   "zhangsan\0163\0com"     char*s="163"                           记录"com"位置

第三步:strtok(NULL,arr2)--------->   arr1   "zhangsan\0163\0com"   char*s="com"

第四步:(字符串中不存在更多的标记)返回NULL

下面用循环实现

strtok函数详解_第1张图片

输出样例:

strtok函数详解_第2张图片 

你可能感兴趣的:(算法)