Namespaces
Variants

std:: memchr

From cppreference.net
Definido en el encabezado <cstring>
const void * memchr ( const void * ptr, int ch, std:: size_t count ) ;
void * memchr ( void * ptr, int ch, std:: size_t count ) ;

Convierte ch a unsigned char y localiza la primera ocurrencia de ese valor en los primeros count bytes (cada uno interpretado como unsigned char ) del objeto apuntado por ptr .

Esta función se comporta como si leyera los bytes secuencialmente y se detiene tan pronto como encuentra un byte coincidente: si el array apuntado por ptr es más pequeño que count , pero la coincidencia se encuentra dentro del array, el comportamiento está bien definido.

(since C++17)

Contenidos

Parámetros

ptr - puntero al objeto a examinar
ch - byte a buscar
count - número máximo de bytes a examinar

Valor de retorno

Puntero a la ubicación del byte, o un puntero nulo si no se encuentra dicho byte.

Ejemplo

Buscar en un arreglo de caracteres.

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

Salida:

search character found

Véase también

encuentra la primera ocurrencia de un carácter
(función)
encuentra el primer elemento que satisface criterios específicos
(plantilla de función)
Documentación C para memchr