NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ATTRIBUTES |STANDARDS |HISTORY |SEE ALSO |COLOPHON | |
strchr(3) Library Functions Manualstrchr(3)strchr, strrchr, strchrnul - locate character in string
Standard C library (libc,-lc)
#include <string.h>char *strchr(const char *s, intc);char *strrchr(const char *s, intc);#define _GNU_SOURCE/* See feature_test_macros(7) */#include <string.h>char *strchrnul(const char *s, intc);
Thestrchr() function returns a pointer to the first occurrence of the characterc in the strings. Thestrrchr() function returns a pointer to the last occurrence of the characterc in the strings. Thestrchrnul() function is likestrchr() except that ifc is not found ins, then it returns a pointer to the null byte at the end ofs, rather than NULL. Here "character" means "byte"; these functions do not work with wide or multibyte characters.
Thestrchr() andstrrchr() functions return a pointer to the matched character or NULL if the character is not found. The terminating null byte is considered part of the string, so that ifc is specified as '\0', these functions return a pointer to the terminator. Thestrchrnul() function returns a pointer to the matched character, or a pointer to the null byte at the end ofs (i.e.,s+strlen(s)) if the character is not found.
For an explanation of the terms used in this section, seeattributes(7). ┌──────────────────────────────────────┬───────────────┬─────────┐ │Interface│Attribute│Value│ ├──────────────────────────────────────┼───────────────┼─────────┤ │strchr(),strrchr(),strchrnul() │ Thread safety │ MT-Safe │ └──────────────────────────────────────┴───────────────┴─────────┘
strchr()strrchr() C11, POSIX.1-2008.strchrnul() GNU.
strchr()strrchr() POSIX.1-2001, C89, SVr4, 4.3BSD.strchrnul() glibc 2.1.1, FreeBSD 10, NetBSD 8.
memchr(3),string(3),strlen(3),strpbrk(3),strsep(3),strspn(3),strstr(3),strtok(3),wcschr(3),wcsrchr(3)
This page is part of theman-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.15.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025-08-11. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgLinux man-pages 6.15 2025-05-17strchr(3)Pages that refer to this page:index(3), memchr(3), string(3), strpbrk(3), strsep(3), strspn(3), strstr(3), strtok(3), wcschr(3), wcsrchr(3), signal-safety(7)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |