Namespaces
Variants

std:: memchr

From cppreference.net
헤더 파일에 정의됨 <cstring>
const void * memchr ( const void * ptr, int ch, std:: size_t count ) ;
void * memchr ( void * ptr, int ch, std:: size_t count ) ;

ch unsigned char 로 변환하고, ptr 가 가리키는 객체의 처음 count 바이트(각각 unsigned char 로 해석됨)에서 해당 값의 첫 번째 발생 위치를 찾습니다.

이 함수는 바이트를 순차적으로 읽고 일치하는 바이트를 찾는 즉시 멈추는 것처럼 동작합니다: ptr 이 가리키는 배열이 count 보다 작지만 배열 내에서 일치 항목을 찾은 경우, 동작은 명확히 정의됩니다.

(since C++17)

목차

매개변수

ptr - 검사할 객체에 대한 포인터
ch - 검색할 바이트
count - 검사할 최대 바이트 수

반환값

해당 바이트의 위치에 대한 포인터, 또는 해당 바이트가 발견되지 않으면 널 포인터.

예제

문자 배열을 검색합니다.

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

출력:

search character found

참고 항목

문자의 첫 번째 발생을 찾음
(함수)
특정 기준을 만족하는 첫 번째 요소를 찾음
(함수 템플릿)
C 문서 for memchr