<!DOCTYPE html PUBLIC "‐//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">     <html
xmlns="http://www.w3.org/1999/xhtml"> <head>
    <link            rel="stylesheet"             type="text/css"
href="../../../style.css" title="style" />
    <link  rel="stylesheet"  type="text/css"  href="../style.css"
title="style" />
    <meta             http‐equiv="content‐type"              con‐
tent="text/html;charset=utf‐8" />

    <title>string.h.0p ‐ Linux manual page</title> </head>

<body>

<div        class="page‐top"><a       id="top_of_page"></a></div>
<!‐‐%%%TOP_BAR%%%‐‐> <!‐‐%%%PAGE_START%%%‐‐>

<table class="sec‐table"> <tr>
    <td>
        <p class="section‐dir"> <a href="#PROLOG">PROLOG</a> | <a
href="#NAME">NAME</a>  |  <a  href="#SYNOPSIS">SYNOPSIS</a>  | <a
href="#DESCRIPTION">DESCRIPTION</a> |  <a  href="#APPLICATION_US‐
AGE">APPLICATION&nbsp;USAGE</a>   |  <a  href="#RATIONALE">RATIO‐
NALE</a>   |   <a    href="#FUTURE_DIRECTIONS">FUTURE&nbsp;DIREC‐
TIONS</a>    |   <a   href="#SEE_ALSO">SEE&nbsp;ALSO</a>   |   <a
href="#COPYRIGHT">COPYRIGHT</a>
        </p>
    </td>
    <td class="search‐box">
        <div class="man‐search‐box">

            <form                method="get"                 ac‐
tion="http://www.google.com/search">
                <fieldset class="man‐search">
                    <input    type="text"    name="q"   size="10"
maxlength="255" value="" />
                    <input type="hidden"  name="sitesearch"  val‐
ue="man7.org/linux/man‐pages" />
                    <input  type="submit" name="sa" value="Search
online pages" />
                </fieldset>
            </form>

        </div>
    </td>
    <td> </td> </tr> </table>

<pre> <span class="headline">string.h(0P)              POSIX Pro‐
grammer’s  Manual              string.h(0P)</span>  </pre> <h2><a
id="PROLOG" href="#PROLOG"></a>PROLOG  &nbsp; &nbsp; &nbsp;  &nb‐
sp;        <a        href="#top_of_page"><span        class="top‐
link">top</span></a></h2><pre>
       This manual page is part of the POSIX Programmer’s Manual.
The Linux
       implementation of this interface may differ (consult the
       corresponding  Linux  manual page for details of Linux be‐
havior), or
       the interface may not be  implemented  on  Linux.   </pre>
<h2><a id="NAME" href="#NAME"></a>NAME  &nbsp; &nbsp; &nbsp; &nb‐
sp;        <a        href="#top_of_page"><span        class="top‐
link">top</span></a></h2><pre>
       string.h  —  string operations </pre> <h2><a id="SYNOPSIS"
href="#SYNOPSIS"></a>SYNOPSIS  &nbsp;  &nbsp;  &nbsp;  &nbsp;  <a
href="#top_of_page"><span                             class="top‐
link">top</span></a></h2><pre>
       #include &lt;string.h&gt; </pre>  <h2><a  id="DESCRIPTION"
href="#DESCRIPTION"></a>DESCRIPTION   &nbsp; &nbsp; &nbsp; &nbsp;
<a             href="#top_of_page"><span              class="top‐
link">top</span></a></h2><pre>
       Some of the functionality described on this reference page
extends
       the ISO C standard. Applications shall define  the  appro‐
priate feature
       test   macro   (see   the   System  Interfaces  volume  of
POSIX.1‐2008, <i>Section</i>
       <i>2.2</i>, <i>The Compilation Environment</i>) to  enable
the visibility of these
       symbols in this header.

       The  <i>&lt;string.h&gt;</i>  header shall define NULL and
<b>size_t </b>as described in
       <i>&lt;stddef.h&gt;</i>.

       The <i>&lt;string.h&gt;</i> header shall define the <b>lo‐
cale_t </b>type as described in
       <i>&lt;locale.h&gt;</i>.

       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.

           <b>void     *memccpy(void  *restrict,  const void *re‐
strict, int, size_t);</b>
           <b>void    *memchr(const void *, int, size_t);</b>
           <b>int       memcmp(const  void  *,  const   void   *,
size_t);</b>
           <b>void     *memcpy(void  *restrict,  const  void *re‐
strict, size_t);</b>
           <b>void    *memmove(void *, const void *, size_t);</b>
           <b>void    *memset(void *, int, size_t);</b>
           <b>char    *stpcpy(char  *restrict,  const  char  *re‐
strict);</b>
           <b>char     *stpncpy(char  *restrict,  const char *re‐
strict, size_t);</b>
           <b>char    *strcat(char  *restrict,  const  char  *re‐
strict);</b>
           <b>char    *strchr(const char *, int);</b>
           <b>int      strcmp(const char *, const char *);</b>
           <b>int      strcoll(const char *, const char *);</b>
           <b>int       strcoll_l(const char *, const char *, lo‐
cale_t);</b>
           <b>char    *strcpy(char  *restrict,  const  char  *re‐
strict);</b>
           <b>size_t   strcspn(const char *, const char *);</b>
           <b>char    *strdup(const char *);</b>
           <b>char    *strerror(int);</b>
           <b>char    *strerror_l(int, locale_t);</b>
           <b>int      strerror_r(int, char *, size_t);</b>
           <b>size_t   strlen(const char *);</b>
           <b>char     *strncat(char  *restrict,  const char *re‐
strict, size_t);</b>
           <b>int       strncmp(const  char  *,  const  char   *,
size_t);</b>
           <b>char     *strncpy(char  *restrict,  const char *re‐
strict, size_t);</b>
           <b>char    *strndup(const char *, size_t);</b>
           <b>size_t   strnlen(const char *, size_t);</b>
           <b>char    *strpbrk(const char *, const char *);</b>
           <b>char    *strrchr(const char *, int);</b>
           <b>char    *strsignal(int);</b>
           <b>size_t   strspn(const char *, const char *);</b>
           <b>char    *strstr(const char *, const char *);</b>
           <b>char    *strtok(char  *restrict,  const  char  *re‐
strict);</b>
           <b>char     *strtok_r(char  *restrict, const char *re‐
strict, char **restrict);</b>
           <b>size_t   strxfrm(char *restrict,  const  char  *re‐
strict, size_t);</b>
           <b>size_t    strxfrm_l(char *restrict, const char *re‐
strict,</b>
                        <b>size_t, locale_t);</b>

       Inclusion of the <i>&lt;string.h&gt;</i> header  may  also
make visible all symbols
       from <i>&lt;stddef.h&gt;</i>.

       <i>The  following  sections  are  informative.</i>  </pre>
<h2><a  id="APPLICATION_USAGE"  href="#APPLICATION_USAGE"></a>AP‐
PLICATION    USAGE     &nbsp;    &nbsp;    &nbsp;    &nbsp;    <a
href="#top_of_page"><span                             class="top‐
link">top</span></a></h2><pre>
       None.     </pre>   <h2><a   id="RATIONALE"   href="#RATIO‐
NALE"></a>RATIONALE    &nbsp;    &nbsp;    &nbsp;    &nbsp;    <a
href="#top_of_page"><span                             class="top‐
link">top</span></a></h2><pre>
       None.   </pre>  <h2><a  id="FUTURE_DIRECTIONS"  href="#FU‐
TURE_DIRECTIONS"></a>FUTURE DIRECTIONS  &nbsp; &nbsp; &nbsp; &nb‐
sp;        <a        href="#top_of_page"><span        class="top‐
link">top</span></a></h2><pre>
       None.     </pre>   <h2><a   id="SEE_ALSO"   href="#SEE_AL‐
SO"></a>SEE   ALSO     &nbsp;    &nbsp;    &nbsp;    &nbsp;    <a
href="#top_of_page"><span                             class="top‐
link">top</span></a></h2><pre>
       <a  href="../man0/locale.h.0p.html">locale.h(0p)</a>,   <a
href="../man0/stddef.h.0p.html">stddef.h(0p)</a>,              <a
href="../man0/sys_types.h.0p.html">sys_types.h(0p)</a>

       The System Interfaces volume of  POSIX.1‐2008,  <i>Section
2.2</i>, <i>The</i>
       <i>Compilation   Environment</i>,  <a  href="../man3/memc‐
cpy.3p.html">memccpy(3p)</a>,        <a        href="../man3/mem‐
chr.3p.html">memchr(3p)</a>,         <a        href="../man3/mem‐
cmp.3p.html">memcmp(3p)</a>,
       <a    href="../man3/memcpy.3p.html">memcpy(3p)</a>,     <a
href="../man3/memmove.3p.html">memmove(3p)</a>,                <a
href="../man3/memset.3p.html">memset(3p)</a>,                  <a
href="../man3/strcat.3p.html">strcat(3p)</a>,                  <a
href="../man3/strchr.3p.html">strchr(3p)</a>,
       <a    href="../man3/strcmp.3p.html">strcmp(3p)</a>,     <a
href="../man3/strcoll.3p.html">strcoll(3p)</a>,                <a
href="../man3/strcpy.3p.html">strcpy(3p)</a>,                  <a
href="../man3/strcspn.3p.html">strcspn(3p)</a>,                <a
href="../man3/strdup.3p.html">strdup(3p)</a>,
       <a  href="../man3/strerror.3p.html">strerror(3p)</a>,   <a
href="../man3/strlen.3p.html">strlen(3p)</a>,                  <a
href="../man3/strncat.3p.html">strncat(3p)</a>,                <a
href="../man3/strncmp.3p.html">strncmp(3p)</a>,                <a
href="../man3/strncpy.3p.html">strncpy(3p)</a>,
       <a   href="../man3/strpbrk.3p.html">strpbrk(3p)</a>,    <a
href="../man3/strrchr.3p.html">strrchr(3p)</a>,                <a
href="../man3/strsignal.3p.html">strsignal(3p)</a>,            <a
href="../man3/strspn.3p.html">strspn(3p)</a>,                  <a
href="../man3/strstr.3p.html">strstr(3p)</a>,
       <a    href="../man3/strtok.3p.html">strtok(3p)</a>,     <a
href="../man3/strxfrm.3p.html">strxfrm(3p)</a>    </pre>   <h2><a
id="COPYRIGHT"  href="#COPYRIGHT"></a>COPYRIGHT   &nbsp;   &nbsp;
&nbsp;    &nbsp;    <a    href="#top_of_page"><span   class="top‐
link">top</span></a></h2><pre>
       Portions of this text  are  reprinted  and  reproduced  in
electronic form
       from  IEEE Std 1003.1, 2013 Edition, Standard for Informa‐
tion
       Technology ‐‐ Portable Operating System Interface (POSIX),
The Open
       Group  Base  Specifications Issue 7, Copyright (C) 2013 by
the
       Institute of Electrical and Electronics Engineers, Inc and
The Open
       Group.  (This is POSIX.1‐2008 with the 2013 Technical Cor‐
rigendum 1
       applied.) In the event of  any  discrepancy  between  this
version and
       the  original IEEE and The Open Group Standard, the origi‐
nal IEEE and
       The Open Group Standard is the referee document. The orig‐
inal
       Standard     can     be     obtained    online    at    <a
href="http://www.unix.org/online.html">http://www.unix.org/on‐
line.html</a> .

       Any typographical or formatting errors that appear in this
page are
       most likely to have been introduced during the  conversion
of the
       source  files  to  man page format. To report such errors,
see
       <a      href="https://www.kernel.org/doc/man‐pages/report‐
ing_bugs.html">https://www.kernel.org/doc/man‐pages/report‐
ing_bugs.html</a> .

<span class="footline">IEEE/The Open  Group                  2013
string.h(0P)</span> </pre>

<hr class="end‐man‐text" />

<hr class="start‐footer" />

<div class="footer">

<table class="colophon‐table">
    <tr>
    <td class="pub‐info">
        <p>
            HTML rendering created 2019‐08‐02
            by  <a  href="http://man7.org/mtk/index.html">Michael
Kerrisk</a>,
            author of
            <a  href="http://man7.org/tlpi/"><em>The  Linux  Pro‐
gramming Interface</em></a>,
            maintainer of the
            <a href="https://www.kernel.org/doc/man‐pages/">Linux
<em>man‐pages</em> project</a>.
        </p>
        <p>
            For details of in‐depth
            <strong>Linux/UNIX system programming training  cour‐
ses</strong>
            that  I  teach,  look <a href="http://man7.org/train‐
ing/">here</a>.
        </p>
        <p>
            Hosting   by    <a    href="http://www.jambit.com/in‐
dex_en.html">jambit GmbH</a>.
        </p>
        <p>
            <a href="http://validator.w3.org/check?uri=referer">
            <img src="http://www.w3.org/Icons/valid‐xhtml11"
                alt="Valid XHTML 1.1" height="31" width="88" />
            </a>
        </p>
    </td>
    <td class="colophon‐divider">
    </td>
    <td class="tlpi‐cover">
        <a                      href="http://man7.org/tlpi/"><img
src="http://man7.org/tlpi/cover/TLPI‐front‐cover‐vsmall.png"
alt="Cover of TLPI" /></a>
    </td>
    </tr> </table>

</div>

<hr class="end‐footer" />

</body> </html>