Namespaces
Variants

std:: memchr

From cppreference.net
Definiert im Header <cstring>
const void * memchr ( const void * ptr, int ch, std:: size_t count ) ;
void * memchr ( void * ptr, int ch, std:: size_t count ) ;

Wandelt ch in unsigned char um und sucht das erste Vorkommen dieses Wertes in den ersten count Bytes (jedes interpretiert als unsigned char ) des Objekts, auf das ptr zeigt.

Diese Funktion verhält sich so, als ob sie die Bytes sequenziell liest und anhält, sobald ein übereinstimmendes Byte gefunden wird: Wenn das Array, auf das ptr zeigt, kleiner als count ist, aber die Übereinstimmung innerhalb des Arrays gefunden wird, ist das Verhalten wohldefiniert.

(since C++17)

Inhaltsverzeichnis

Parameter

ptr - Zeiger auf das zu untersuchende Objekt
ch - zu suchendes Byte
count - maximale Anzahl zu prüfender Bytes

Rückgabewert

Zeiger auf die Position des Bytes oder ein Nullzeiger, falls kein solches Byte gefunden wird.

Beispiel

Durchsuchen Sie ein Array von Zeichen.

#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";
}

Ausgabe:

search character found

Siehe auch

findet das erste Vorkommen eines Zeichens
(Funktion)
findet das erste Element, das bestimmte Kriterien erfüllt
(Funktions-Template)
C-Dokumentation für memchr