作为其他C库函数,比如strcpy
,strcat
有一个版本限制了字符串(strncpy
等等)的大小,我想知道为什么没有这样的变体strchr
?
Sor*_*ren 19
它确实存在 - 它被称为memchr
:
http://en.wikipedia.org/wiki/C_string_handling
在C中,术语"字符串"通常表示"空终止的字符数组",并且str*
函数对这些类型的字符串进行操作.该n
在你提到的功能主要是为控制的缘故输出.
如果要在没有任何隐含终止语义的情况下对任意字节序列进行操作,请使用mem*
函数族; 在您的情况下memchr
应该满足您的需求.