函数内部还是不要使用 strtok()

Posted personnel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数内部还是不要使用 strtok()相关的知识,希望对你有一定的参考价值。

今天在调试程序的时候,遇到一个奇怪的事情,一开始担心是代码存在内存溢出引起的,花了半个小时没找到原因。

在吃饭的时候,突然想起可能是 strtok() 引起的,查找调用的函数,果然发现在函数中使用了 strtok()。

而现在的问题就是在另一段代码中先使用了 strtok(), 然后在没有结束前,又调用了一个内部使用 strtok() 的函数,导致了 strtok() 的嵌套调用

所以在调试的时候,出现意料之外的情况。

为了安全起见,以后在函数内部还是不要用 strtok(), 我用 strstr 写了一个 strsepstr(),来代替 strtok()。

以上是关于函数内部还是不要使用 strtok()的主要内容,如果未能解决你的问题,请参考以下文章

C语言最短时间带你实现strtok,字符串分割函数,建议收藏!!!

Android C++系列:Linux信号

字符分割函数strtok

关于函数strtok和strtok_r的使用要点和实现原理

关于函数strtok和strtok_r的使用要点和实现原理

strtok函数的使用注意事项