如何从尾部到头部反向转动C字符串?

我想我需要一个反向版本的strtok,比如:
char* p = rstrtok(str,delimeters);

例如,使用“_-”的分隔符集在字符串“hello stack_over-flow”中依次获取’ – ‘,’_’和”的位置

我只关心分界符和它们的位置(不是它们之间的内容),所以我想boost :: split_iterator在这里不合适.

我可以利用现有的实用功能吗?或任何解决这种情况的解决方案?
此外,由于我在做C,有没有方便的方法来避免这种旧时尚C?

(我搜索了“反向strtok”,但只是“堆叠流过”到“流过堆栈”的东西…)

解决方法

你可以用strpbrk做到这一点:
char string[] = "hello+stack_over-flow";

char *pos = string;
while (*pos != '\0' && (pos = strpbrk(pos,"+-_")) != NULL)
{
    /* Do something with `pos` */

    pos++;  /* To skip over the found character */
}

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...