如何找到strtok()拆分字符串的索引?

时间:2013-06-20 18:19:08

标签: c string cstring

我在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; 
}

如何找出发生分裂的指数(最好是在恒定时间内)?

2 个答案:

答案 0 :(得分:4)

查找索引:

ptrdiff_t index = p - s;

除此之外:显示您的真实代码 - s = "A B C D"将无法编译。

答案 1 :(得分:0)

如上一篇文章所述,它很简单。 Strtok返回地址。使用数组的初始地址减去返回的地址。

p - s;