memchr
函数 <cstring>
const void * memchr ( const void * ptr, int value, size_t num );
void * memchr ( void * ptr, int value, size_t num );
在内存块中查找字符
在ptr所指向内存块的开始的num个字节内搜索第一个出现的value(被解释为unsigned char),并返回指向它的指针。
为了进行比较,value和ptr数组中检索的每个字节都被解释为unsigned char。
☲ 参数
ptr
指向执行搜索的内存块的指针。
value
要定位的值。该值以int形式传递,但该函数使用该值的unsigned char转换执行逐个字节的搜索。
num
要分析的字节数。
size_t是一个无符号整型。
☉ 返回值
一个指针,指向ptr所指向的内存块中第一个出现的值。
如果未找到该值,函数将返回一个空指针。
❆ 可移植性
在C语言中,这个函数只声明为:
void * memchr ( const void *, int, size_t );
而不是c++中提供的两个重载版本。
☣ 示例
/* memchr example */
#include <stdio.h>
#include <string.h>
int main ()
{
char * pch;
char str[] = "Example string";
pch = (char*) memchr (str, 'p', strlen(str));
if (pch!=NULL)
printf ("'p' found at position %d.\n", pch-str+1);
else
printf ("'p' not found.\n");
return 0;
}
|
输出:
'p' found at position 5.
🍄 另请参阅