std::memchr

来自cppreference.com
< cpp‎ | string‎ | byte
定义于头文件 <cstring>
const void* memchr( const void* ptr, int ch, std::size_t count );
      void* memchr(       void* ptr, int ch, std::size_t count );

转换 chunsigned char 并在 ptr 所指向的对象的起始 count (每个都转译为 unsigned char )个字符中定位该值的首次出现。

目录

[编辑] 参数

ptr - 指向要检验的对象的指针
ch - 要搜索的字符
count - 要检验的字符数

[编辑] 返回值

指向字符位置的指针,或若找不到这种字符则为 NULL

[编辑] 示例

搜索字符数组。

#include <iostream>
#include <cstring>
 
int main()
{
    char arr[] = {'a','\0','a','A','a','a','A','a'};
    char *pc = (char*)std::memchr(arr,'A',sizeof arr);
    if (pc != NULL)
       std::cout << "search character found\n";
    else
       std::cout << "search character not found\n";
}

输出:

search character found

[编辑] 参阅

寻找字符的首次出现
(函数) [编辑]
查找满足特定条件的第一个元素
(函数模板) [编辑]
memchrC 文档