char * strpbrk (char * str1, const char * str2 );

返回指向str2中任何字符的第一个出现在str1中的指针,如果没有匹配项,则返回null指针。
int  strcspn( const char * str1, const char * str2 );

str1初始部分的长度,不包含任何str2字符。

看起来两者的工作原理相同,有什么主要区别吗?

最佳答案

这些函数在C++编程中几乎没有任何应用程序。好吧,我是这样认为的。但是,如果您想了解一下,这里就是答案,

在您的问题中,strcspn返回一个字符位置,而 strpbrk返回一个指针。

同样,如果找不到字符,strpbrk会返回一个空指针;在相同情况下,IIRC strcspn在字符串末尾返回NUL 的索引。

我也有关于strcspn()strpbrk()的血统解释。检查链接。

关于c++ - strcspn()和strpbrk()有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24583313/

10-10 00:50