|
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ATTRIBUTES | STANDARDS | HISTORY | SEE ALSO | COLOPHON |
|
|
|
strchr(3) Library Functions Manual strchr(3)
strchr, strrchr, strchrnul - locate character in string
Standard C library (libc, -lc)
#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <string.h>
char *strchrnul(const char *s, int c);
The strchr() function returns a pointer to the first occurrence of
the character c in the string s.
The strrchr() function returns a pointer to the last occurrence of
the character c in the string s.
The strchrnul() function is like strchr() except that if c is not
found in s, then it returns a pointer to the null byte at the end
of s, rather than NULL.
Here "character" means "byte"; these functions do not work with
wide or multibyte characters.
The strchr() and strrchr() 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 if
c is specified as '\0', these functions return a pointer to the
terminator.
The strchrnul() function returns a pointer to the matched
character, or a pointer to the null byte at the end of s (i.e.,
s+strlen(s)) if the character is not found.
For an explanation of the terms used in this section, see
attributes(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 the man-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 is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.15 2025-05-17 strchr(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)