【问题标题】:How to find the indices at which strtok() splits the string?如何找到 strtok() 拆分字符串的索引?
【发布时间】:2013-06-20 18:19:07
【问题描述】:

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

我怎样才能找到分裂发生的索引(最好是在恒定时间内)?

【问题讨论】:

    标签: c string cstring


    【解决方案1】:

    要查找索引:

    ptrdiff_t index = p - s;
    

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

    【讨论】:

      【解决方案2】:

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

      p-s;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-21
        • 1970-01-01
        • 2012-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-03
        • 1970-01-01
        相关资源
        最近更新 更多