### <string.h>

The <string.h> include file declares the string manipulation functions:

memchr | strcat | strcspn | strncpy | strtok
memcmp | strchr | strerror | strpbrk | strxfrm
memcpy | strcmp | strlen | strrchr |
memmove | strcoll | strncat | strspn |
memset | strcpy | strncmp | strstr |

In extended mode, <string.h> also defines the following standard extensions:

memccpy | strdup | strlwr | strnset | strset
memicmp | _strerror | strnicmp | strrev | strupr
strcmpi | stricmp |  |  |

<string.h> also defines the macro NULL and the type size_t. These definitions are also provided in <stddef.h>. NULL is also defined in <locale.h>.

<string.h>, on OS/2 and Windows, also defines the following far and near pointer macros to the corresponding standard library function:

_fmemccpy | _fmemset | _fstrdup | _fstrncpy | _fstrset
_fmemchr | _fstrcat | _fstricmp | _fstrnicmp | _fstrspn
_fmemcmp | _fstrchr | _fstrlen | _fstrnset | _fstrstr
_fmemcpy | _fstrcmp | _fstrlwr | _fstrpbrk | _fstrtok
_fmemicmp | _fstrcpy | _fstrncat | _fstrrchr | _fstrupr
_fmemmove | _fstrcspn | _fstrncmp | _fstrrev | _nstrdup

On OS/2 and Windows, these macros are also defined in <memory.h>.

<stddef.h>
<memory.h>
<stdlib.h>
<stdio.h>
#include