当前位置:大问百书>生活百科>strtok函数

strtok函数

2024-09-16 04:49:11 编辑:zane 浏览量:644

strtok函数

的有关信息介绍如下:

问题补充说明:请问strtok函数第二个参数,即分隔符参数,试了一下,只能是char *指针,不能用char数组,这是为什么呢?但有的地方却说:“它的第二个参数不能是char*的变量,是char[]的变量则没问题”,有何道理?另外,第一次使用strtok后,再使用:token = strtok(NULL, ",-|");这样的都是同一个char * token定义,就是说每次都会改变token的指向?谢谢!

strtok函数

1、c99中函数定义是:

char*strtok(char*restricts1,constchar*restricts2);

你所谓的那句话有可能是指不可用char*,因为这里定义必须是constchar*,而char[]因为数组的特性,其引用相当于constchar*

比如你定义

charstr[20];

c360问答har*p;

那么

p++随正眼动第紧明规应前额是有效的,指针引用地址改变了。

str++或是无效的,变相等于了constchar*

2、首次完成对字符串分割后,分隔符会被变成空格,此时如果将第一个参数置NULL即取病民判鲁速根节井会按顺序返回每个子字符串,每调用一次返回一个,所以token会改变。当查福细眼速态这由弱后面不再有子字符串了,就会返回NULL

补充:

对,除非你给出的第一个参数不是NULL,这样他会重新开始。

版权声明:文章由 大问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.dawenbaishu.com/life/102405.html
热门文章