Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      strstr

      From cppreference.com
      <c‎ |string‎ |byte
       
       
       
       
      Defined in header<string.h>
      char* strstr(constchar* str,constchar* substr);
      (1)
      /*QChar*/* strstr(/*QChar*/* str,constchar* substr);
      (2)(since C23)
      1) Finds the first occurrence of the null-terminated byte string pointed to bysubstr in the null-terminated byte string pointed to bystr. The terminating null characters are not compared.
      2) Type-generic function equivalent to(1). LetT be an unqualified character object type.
      • Ifstr is of typeconst T*, the return type isconstchar*.
      • Otherwise, ifstr 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(strstr) or a function pointer is used), the actual function declaration(1) becomes visible.

      The behavior is undefined if eitherstr orsubstr is not a pointer to a null-terminated byte string.

      Contents

      [edit]Parameters

      str - pointer to the null-terminated byte string to examine
      substr - pointer to the null-terminated byte string to search for

      [edit]Return value

      Pointer to the first character of the found substring instr, or a null pointer if such substring is not found. Ifsubstr points to an empty string,str is returned.

      [edit]Example

      Run this code
      #include <stdio.h>#include <string.h> void find_str(charconst* str,charconst* substr){charconst* pos= strstr(str, substr);if(pos)printf("Found the string [%s] in [%s] at position %td\n",            substr, str, pos- str);elseprintf("The string [%s] was not found in [%s]\n",            substr, str);} int main(void){charconst* str="one two three";    find_str(str,"two");    find_str(str,"");    find_str(str,"nine");    find_str(str,"n"); return0;}

      Output:

      Found the string [two] in [one two three] at position 4Found the string [] in [one two three] at position 0The string [nine] was not found in [one two three]Found the string [n] in [one two three] at position 1

      [edit]References

      • C23 standard (ISO/IEC 9899:2024):
      • 7.24.5.7 The strstr function (p: TBD)
      • C17 standard (ISO/IEC 9899:2018):
      • 7.24.5.7 The strstr function (p: 269)
      • C11 standard (ISO/IEC 9899:2011):
      • 7.24.5.7 The strstr function (p: 369)
      • C99 standard (ISO/IEC 9899:1999):
      • 7.21.5.7 The strstr function (p: 332)
      • C89/C90 standard (ISO/IEC 9899:1990):
      • 4.11.5.7 The strstr function

      [edit]See also

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

      [8]ページ先頭

      ©2009-2025 Movatter.jp