strtok函数

来源:互联网 发布:淘宝卖分享教程 编辑:程序博客网 时间:2024/05/17 04:06

函数原型: char *strtok(char *str, char const  * delim);

delim参数是一个字符串,定义了用作分隔符的字符集。str参数指定一个字符串,包含零个或多个有delim字符串中的一个或多个分隔符的token。strtok找到str的下一个token,并将其用NUL结尾,然后返回一个指向这个token的指针。

如果strtok函数的第一个参数不是NULL,函数找到字符串的第一个token。strtok同时将保存它在字符串中的位置。如果strtok函数的第一个参数是NULL,函数就在同一个字符串中从这个被保存的位置开始像前面一样查找下一个token。如果字符串内不存在更多的token,strtok函数就返回一个NULL指针。

通常情况下,在第一次调用strtok时,向它传递一个指向字符串的指针。然后这个函数被重复调用(第一个参数为NULL),直到它返回NULL为止。

注意,当strtok函数执行后,它将会修改它所处理的字符串。所以如果源字符串不能被修改,则先复制一份,再将拷贝当作参数传递给strtok函数。

还有,由于strtok函数保存它所处理的函数的局部状态信息,所以不能用它同时分割两个字符串。


简单示例:

#include <string.h> #include <stdlib.h>#include <stdio.h> void print_tokens(char* line);int main(void) {     char line[] = "To Be Or Not To Be";print_tokens(line);    return EXIT_SUCCESS; }/*** 从一个字符串提取空白字符分隔的标记,** 并把它们打印出来*/void print_tokens(char const *line) {static char whitespace[] = " \t\n\v\f\r";char *str = line;char *token;token = strtok(str, whitespace);while (token != NULL) {printf("%s\n", token);token = strtok(NULL, whitespace);}}
结果输出:

ToBeOrNotToBe


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝店铺层级排名下降怎么办 网购不支持该地区销售怎么办 分销公司佣金不给业务员怎么办 淘宝买家账号违规了怎么办 王者荣耀打野被队友抢野怎么办 艾肯材料换错了怎么办 淘宝直播粉丝5万怎么办 淘宝直播刚开始好难怎么办 分期乐账号忘记了怎么办 外链多了影响网站排名怎么办 自粘墙纸有气泡怎么办 贴壁纸阴角不力怎么办 自贴墙纸有气泡怎么办 壁纸贴的有起泡怎么办 pos机连接主机失败怎么办 无线pos机连接主机失败怎么办 水墨晕染模板用不了怎么办 申请入驻饿了么失败怎么办 天猫流量大淘宝怎么办 拼多多商家不退款怎么办 苹果手机开流量显示e怎么办 苹果手机有服务流量打不开怎么办 苹果七plus流量打不开怎么办 苹果手机突然打不开流量怎么办 天猫商家迟迟不发货怎么办 苹果7开不开机了怎么办 苹果机黑屏了开不起来怎么办 美团收银机连不上网怎么办 6s换电池后黑屏怎么办 苹果上的软件打不开也删不掉怎么办 苹果手机打开软件打不开怎么办 苹果电脑下载的软件打不开怎么办 苹果手机下载的软件都打不开怎么办 苹7果屏幕黑屏怎么办 苹果6s手机打不开怎么办 苹果ipad密码输入打不开怎么办 苹果平板黑屏了打不开怎么办 苹果6sp电影商城打不开怎么办 苹果6应用商城打不开怎么办 游戏下载好了安装不上怎么办 苹果5s应用商店不见了怎么办