📅  最后修改于: 2023-12-03 14:59:45.173000             🧑  作者: Mango
C++语言中的memchr()
函数是用来在一段内存块中查找某个值的函数,它的返回值为查找到的值的指针。
函数的函数原型和函数说明如下:
void *memchr(const void *s, int c, size_t n);
其中,s
是被查找的内存块起始地址,c
是要查找的值,n
是要查找的内存块的长度。如果查找到了,则返回指向查找到的值的指针;如果没有查找到,则返回NULL
。
下面是一个简单的示例程序:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[] = "hello, world!";
char *p = (char *)memchr(str, 'o', strlen(str));
if(p != NULL) {
cout << "找到了:" << p << endl;
} else {
cout << "没找到!" << endl;
}
return 0;
}
运行结果:
找到了:o, world!
memchr()
函数适用于查找二进制数据。strchr()
函数,其函数原型为:char *strchr(const char *s, int c)
。memchr()
函数时,需要非常小心,尤其是在查找多个字节的数据时。建议使用更加安全的函数,如memcmp()
等。