📜  C++ memchr()(1)

📅  最后修改于: 2023-12-03 14:59:45.173000             🧑  作者: Mango

C++ memchr()函数介绍

简介

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()等。
参考
  1. C++ memchr()函数
  2. memchr()函数