一尘不染

C语言中的strtok_r和strtok_s有什么区别?

linux

我正在尝试在需要能够在Linux和Windows中进行编译的C程序中使用此功能。最初,我尝试使用strtok_r,但随后在Windows上编译时,它抱怨该函数不存在,并说它将假定它是一个extern函数,但随后失败。然后,我使用strtok_s进行编译!然后,我在Linux上进行了尝试,但现在它抱怨存在“对’strtok_s’的未定义引用”。

是一个仅Windows功能,另一个是Linux功能吗???我该怎么做才能在两者上进行编译?


阅读 1082

收藏
2020-06-07

共1个答案

一尘不染

这两个函数对于解析字符串来说都是非常丑陋,不直观的习惯用法,通常无法以微妙的方式满足特定应用程序的要求。甚至对于strtok标准C语言中的普通用户而言,只需将它们扔掉并编写您自己的代码即可遍历char数组,并根据需要对其进行分解。strchr,,strspnstrcspn可以帮助您执行此操作,或者您可以从头开始对阵列进行操作。

2020-06-07