我在C中使用了strtok()函数。它返回指向它分割字符串的位置的指针。
int main()
{
char s[100]="A B C D";
char *p;
p=strtok(s," ");
while(p!=NULL){
p=strtok(NULL,".");
//Do something
}
return 0;
}
如何找出发生分裂的指数(最好是在恒定时间内)?
答案 0 :(得分:4)
查找索引:
ptrdiff_t index = p - s;
除此之外:显示您的真实代码 - s = "A B C D"
将无法编译。
答案 1 :(得分:0)
如上一篇文章所述,它很简单。 Strtok返回地址。使用数组的初始地址减去返回的地址。
p - s;