标题的两个单词乍一看,长得还不是一般的像,不管你看错没看错,反正我是看错了很多遍后才发现他们不是同一个函数,搞得我一直将strtok当strpbrk使,一直纠结纳闷怎么输出的字符串和我要的差了十万八千里,幸亏生于80后,更没学法语,还是稍微能够伤得起的。也情有可原吧,毕竟办公条件不好加上年纪又大了难免老眼昏花;最怕就是要在这个坑里跌倒一次又一次,所以写个博吧注释一下,告警一下自己--掉的人多了,坑还是那个那个无底洞,谨记谨记。

         strpbrk(const char*s,const char *accept)是用于在s中寻找accpt参数中最找出现的字符,并且返回s中改字符的指针。

         strtok(char *s,const char*delim)则用于分割字符串,就是在s中找到delim,然后将这个delim替换成'\0',然后返回替换后的字符串地址。

          具体的解释可以直接参考linux C函数解释,英文比较好的则直接在linux下man之。

         一个小技巧的用法:假如我有一个root:x:123的字符串,那么我就可以用strpbrk来获得冒号后面的字符,而用strtok来获得冒号前面的字符。

         发现些技术文档真得比较难写,写浅了没意思,写深看不懂(况且没到火候也写不深),那就当一个小小的总结随便写写,稍稍感觉略有长进,吾心足矣。