Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      memchr

      From cppreference.com
      <c‎ |string‎ |byte
       
       
       
       
      Defined in header<string.h>
      void* memchr(constvoid* ptr,int ch,size_t count);
      (1)
      /*QVoid*/*memchr(/*QVoid*/*ptr,int ch,size_t count);
      (2)(since C23)
      1) Finds the first occurrence of(unsignedchar)ch in the initialcount bytes (each interpreted asunsignedchar) of the object pointed to byptr.
      2) Type-generic function equivalent to(1). LetT be an unqualified object type (includingvoid).
      • Ifptr is of typeconst T*, the return type isconstvoid*.
      • Otherwise, ifptr is of typeT*, the return type isvoid*.
      • Otherwise, the behavior is undefined.
      If a macro definition of each of these generic functions is suppressed to access an actual function (e.g. if(memchr) or a function pointer is used), the actual function declaration(1) becomes visible.

      The behavior is undefined if access occurs beyond the end of the array searched. The behavior is undefined ifptr is a null pointer.

      This function behaves as if it reads the bytes sequentially and stops as soon as a matching bytes is found: if the array pointed to byptr is smaller thancount, but the match is found within the array, the behavior is well-defined.

      (since C11)

      Contents

      [edit]Parameters

      ptr - pointer to the object to be examined
      ch - bytes to search for
      count - max number of bytes to examine

      [edit]Return value

      Pointer to the location of the byte, or a null pointer if no such byte is found.

      [edit]Example

      Run this code
      #include <stdio.h>#include <string.h> int main(void){constchar str[]="ABCDEFG";constint chars[]={'D','d'};for(size_t i=0; i<sizeof chars/(sizeof chars[0]);++i){constint c= chars[i];constchar*ps= memchr(str, c,strlen(str));        ps?printf("character '%c'(%i) found: %s\n", c, c, ps):printf("character '%c'(%i) not found\n", c, c);}return0;}

      Possible output:

      character 'D'(68) found: DEFGcharacter 'd'(100) not found

      [edit]References

      • C23 standard (ISO/IEC 9899:2024):
      • 7.24.5.1 The memchr function (p: TBD)
      • C17 standard (ISO/IEC 9899:2018):
      • 7.24.5.1 The memchr function (p: 267-268)
      • C11 standard (ISO/IEC 9899:2011):
      • 7.24.5.1 The memchr function (p: 367)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.21.5.1 The memchr function (p: 330)
      • C89/C90 standard (ISO/IEC 9899:1990):
      • 4.11.5.1 The memchr function

      [edit]See also

      finds the first occurrence of a character
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/string/byte/memchr&oldid=172141"

      [8]ページ先頭

      ©2009-2025 Movatter.jp