memchr
原型: extern void *memchr(const void *ptr, int value, size_t count);
功能: 从ptr所指向的内存开始的前count个字节中查找字符value,如果查找成功则返回字符value首次出现的位置(指针),否则返回NULL。其中ptr会被解析成char *类型,value会被解析成unsigned char类型。
memchr函数在C++语言里有两个重载,分别是:
const void * memchr ( const void * ptr, int value, size_t count );
void * memchr ( void * ptr, int value, size_t count );
下面来看看memchr函数的C语言实现
extern void *memchr(const void *ptr, int value, size_t count);
void *memchr( const void *ptr, int value, size_t count)
{
assert( ptr != NULL);
while( count && (*(unsigned char *)ptr != (unsigned char )value))
{
ptr = (unsigned char *)ptr + 1;
count --;
}
return (count ? (void *)ptr : NULL);
}
相关函数:
strstr();
原型:char *strstr(const char *str1, const char *str2);
功能:返回一个指针,指向字符串str2首次出现于字符串str1的位置,如果没找到则返回NULL。
本文介绍了memchr函数的使用方法及其实现原理,并对比了其在C与C++语言中的不同形式。此外,还探讨了如何利用该函数进行内存搜索操作。
1725

被折叠的 条评论
为什么被折叠?



