The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
Copyright © 2001-2016 The IEEE and The Open Group

#### NAME

> string.h - string operations

#### SYNOPSIS

> `#include <string.h>`

#### DESCRIPTION

> [CX] Some of the functionality described on this reference page extends the ISO C standard. Applications shall define the appropriate feature test macro (see XSH The Compilation Environment ) to enable the visibility of these symbols in this header.

> The <string.h> header shall define NULL and size_t as described in <stddef.h>.

> [CX] The <string.h> header shall define the locale_t type as described in <locale.h>.

> The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided for use with ISO C standard compilers.

>     [XSI]
>     void    *memccpy(void *restrict, const void *restrict, int, size_t);

>     void    *memchr(const void *, int, size_t);
>     int      memcmp(const void *, const void *, size_t);
>     void    *memcpy(void *restrict, const void *restrict, size_t);
>     void    *memmove(void *, const void *, size_t);
>     void    *memset(void *, int, size_t);
>     [CX]
>     char    *stpcpy(char *restrict, const char *restrict);
>     char    *stpncpy(char *restrict, const char *restrict, size_t);

>     char    *strcat(char *restrict, const char *restrict);
>     char    *strchr(const char *, int);
>     int      strcmp(const char *, const char *);
>     int      strcoll(const char *, const char *);
>     [CX]
>     int      strcoll_l(const char *, const char *, locale_t);

>     char    *strcpy(char *restrict, const char *restrict);
>     size_t   strcspn(const char *, const char *);
>     [CX]
>     char    *strdup(const char *);

>     char    *strerror(int);
>     [CX]
>     char    *strerror_l(int, locale_t);
>     int      strerror_r(int, char *, size_t);

>     size_t   strlen(const char *);
>     char    *strncat(char *restrict, const char *restrict, size_t);
>     int      strncmp(const char *, const char *, size_t);
>     char    *strncpy(char *restrict, const char *restrict, size_t);
>     [CX]
>     char    *strndup(const char *, size_t);
>     size_t   strnlen(const char *, size_t);

>     char    *strpbrk(const char *, const char *);
>     char    *strrchr(const char *, int);
>     [CX]
>     char    *strsignal(int);

>     size_t   strspn(const char *, const char *);
>     char    *strstr(const char *, const char *);
>     char    *strtok(char *restrict, const char *restrict);
>     [CX]
>     char    *strtok_r(char *restrict, const char *restrict, char **restrict);

>     size_t   strxfrm(char *restrict, const char *restrict, size_t);
>     [CX]
>     size_t   strxfrm_l(char *restrict, const char *restrict,
>                  size_t, locale_t);

> [CX] Inclusion of the <string.h> header may also make visible all symbols from <stddef.h>.

The following sections are informative.

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> <locale.h>, <stddef.h>, <sys/types.h>

> XSH The Compilation Environment, memccpy, memchr, memcmp, memcpy, memmove, memset, strcat, strchr, strcmp, strcoll, strcpy, strcspn, strdup, strerror, strlen, strncat, strncmp, strncpy, strpbrk, strrchr, strsignal, strspn, strstr, strtok, strxfrm

#### CHANGE HISTORY

> First released in Issue 1. Derived from Issue 1 of the SVID.

#### Issue 5

> The DESCRIPTION is updated for alignment with the POSIX Threads Extension.

#### Issue 6

> The strtok_r() function is marked as part of the Thread-Safe Functions option.

> This reference page is updated to align with the ISO/IEC 9899:1999 standard.

> The strerror_r() function is added in response to IEEE PASC Interpretation 1003.1c #39.

#### Issue 7

> SD5-XBD-ERN-15 is applied, correcting the prototype for the strerror_r() function.

> The stpcpy(), stpncpy(), strndup(), strnlen(), and strsignal() functions are added from The Open Group Technical Standard, 2006, Extended API Set Part 1.

> The strcoll_l(), strerror_l(), and strxfrm_l() functions are added from The Open Group Technical Standard, 2006, Extended API Set Part 4.

> This reference page is clarified with respect to macros and symbolic constants, and a declaration for the locale_t type is added.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2016 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]