Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      strpbrk

      From cppreference.com
      <c‎ |string‎ |byte
       
       
       
       
      Defined in header<string.h>
      char*strpbrk(constchar*dest,constchar*breakset);
      (1)
      /*QChar*/*strpbrk(/*QChar*/*dest,constchar*breakset);
      (2)(since C23)
      1 ) Scans the null-terminated byte string pointed to bydest for any character from the null-terminated byte string pointed to bybreakset, and returns a pointer to that character.
      2) Type-generic function equivalent to(1). LetT be an unqualified character object type.
      • Ifdest is of typeconst T*, the return type isconstchar*.
      • Otherwise, ifdest is of typeT*, the return type ischar*.
      • 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(strpbrk) or a function pointer is used), the actual function declaration(1) becomes visible.

      The behavior is undefined if eitherdest orbreakset is not a pointer to a null-terminated byte string.

      Contents

      [edit]Parameters

      dest - pointer to the null-terminated byte string to be analyzed
      breakset - pointer to the null-terminated byte string that contains the characters to search for

      [edit]Return value

      Pointer to the first character indest, that is also inbreakset, or null pointer if no such character exists.

      [edit]Notes

      The name stands for "string pointer break", because it returns a pointer to the first of the separator ("break") characters.

      [edit]Example

      Run this code
      #include <stdio.h>#include <string.h> int main(void){constchar* str="hello world, friend of mine!";constchar* sep=" ,!"; unsignedint cnt=0;do{       str= strpbrk(str, sep);// find separatorif(str) str+=strspn(str, sep);// skip separator++cnt;// increment word count}while(str&&*str); printf("There are %u words\n", cnt);}

      Output:

      There are 5 words

      [edit]References

      • C23 standard (ISO/IEC 9899:2024):
      • 7.24.5.4 The strpbrk function (p: TBD)
      • C17 standard (ISO/IEC 9899:2018):
      • 7.24.5.4 The strpbrk function (p: TBD)
      • C11 standard (ISO/IEC 9899:2011):
      • 7.24.5.4 The strpbrk function (p: 368)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.21.5.4 The strpbrk function (p: 331)
      • C89/C90 standard (ISO/IEC 9899:1990):
      • 4.11.5.4 The strpbrk function

      [edit]See also

      returns the length of the maximum initial segment that consists
      of only the characters not found in another byte string
      (function)[edit]
      finds the first occurrence of a character
      (function)[edit]
      finds the next token in a byte string
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/string/byte/strpbrk&oldid=172143"

      [8]ページ先頭

      ©2009-2025 Movatter.jp