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

ban*_*run 0 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; 
}
Run Code Online (Sandbox Code Playgroud)

如何找出发生分割的索引(最好是在恒定时间内)?

Car*_*rum 5

查找索引:

ptrdiff_t index = p - s;
Run Code Online (Sandbox Code Playgroud)

旁白:显示你的真实代码 -s = "A B C D"不会编译。