<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-menu-disabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled skin-thumbsize-clientpref-standard" lang="es" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>String.h</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://es.wikipedia.org/wiki/String.h"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/mediawiki.skinning.content.parsoid.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    <link href="./_mw_/ext.gadget.imagenesinfobox.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-String_h rootpage-String_h skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading">string.h</h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="es" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="es" dir="ltr" data-mw-parsoid-version="0.24.0.0-alpha2" data-mw-html-version="2.8.0"><section data-mw-section-id="0" id="mwAQ"><span typeof="mw:Transclusion" id="mwAg"></span>
<p id="mwAw"><b id="mwBA">string.h</b> es un archivo de la <a rel="mw:WikiLink" href="Biblioteca_est%C3%A1ndar_de_C" title="Biblioteca estándar de C" id="mwBQ">Biblioteca estándar</a> del <a rel="mw:WikiLink" href="Lenguaje_de_programaci%C3%B3n_C" title="Lenguaje de programación C" class="mw-redirect" id="mwBg">lenguaje de programación C</a> que contiene la definición de <a rel="mw:WikiLink" href="Macro" title="Macro" id="mwBw">macros</a>, <a rel="mw:WikiLink" href="Constante_(programaci%C3%B3n)" title="Constante (programación)" class="mw-redirect" id="mwCA">constantes</a>, funciones y <a rel="mw:WikiLink" href="Tipo_de_dato" title="Tipo de dato" id="mwCQ">tipos</a>  y algunas operaciones de manipulación de memoria.</p>

<p id="mwCg">Las funciones declaradas en <code id="mwCw">string.h</code> se han hecho muy populares, por lo que están garantizadas para cualquier plataforma que soporte C. Sin embargo, existen algunos problemas de seguridad con estas funciones, como el <b id="mwDA">desbordamiento de buffer</b> (<i id="mwDQ">buffer overflow</i>), que hacen que algunos programadores prefieran opciones más seguras frente a la portabilidad que estas funciones ofrecen. Además, las funciones para cadenas de caracteres sólo trabajan con conjuntos de caracteres <a rel="mw:WikiLink" href="C%C3%B3digo_ASCII" title="Código ASCII" class="mw-redirect" id="mwDg">ASCII</a> o extensiones ASCII compatibles.</p>

</section><section data-mw-section-id="1" id="mwEA" aria-labelledby="Constantes_y_tipos"><div class="mw-heading mw-heading2"><h2 id="Constantes_y_tipos">Constantes y tipos</h2></div>

<table class="wikitable" id="mwEQ">
<tbody id="mwEg"><tr id="mwEw">
<th id="mwFA">Nombre</th><th id="mwFQ">Descripción</th></tr>
<tr id="mwFg">
<td id="mwFw"><code id="mwGA">NULL</code></td><td id="mwGQ">macro que representa la constante puntero nulo; representa un valor de puntero que no apunta a ninguna dirección válida de objeto alguno en memoria</td></tr>
<tr id="mwGw">
<td id="mwHA"><code id="mwHQ">size_t</code></td><td id="mwHg">tipo entero sin signo (positivo); es el tipo devuelto por el operador <code id="mwHw">sizeof</code></td></tr>
</tbody></table>

</section><section data-mw-section-id="2" id="mwIQ" aria-labelledby="Funciones"><div class="mw-heading mw-heading2"><h2 id="Funciones">Funciones</h2></div>

<table class="wikitable" id="mwIg">
<tbody id="mwIw"><tr id="mwJA">
<th id="mwJQ">Nombres</th><th id="mwJg">Descripción</th></tr>
<tr id="mwJw">
<td id="mwKA"><code id="mwKQ">atoi</code></td>
<td id="mwKw">convierte una cadena en una variable tipo int</td></tr>
<tr id="mwLA">
<td id="mwLQ"><code id="mwLg">atof</code></td>
<td id="mwMA">convierte una cadena en una variable tipo float</td></tr>
<tr id="mwMQ">
<td id="mwMg"><code id="mwMw">memcpy</code></td>
<td id="mwNQ">copia n bytes entre dos áreas de memoria que no deben solaparse</td></tr>
<tr id="mwNg">
<td id="mwNw"><code id="mwOA">memmove</code></td>
<td id="mwOg">copia n bytes entre dos áreas de memoria; al contrario que <code id="mwOw">memcpy</code> las áreas pueden solaparse</td></tr>
<tr id="mwPA">
<td id="mwPQ"><code id="mwPg">memchr</code></td>
<td id="mwQA">busca un valor a partir de una dirección de memoria dada y devuelve un puntero a la primera ocurrencia del valor buscado o <a rel="mw:WikiLink" href="NULL" title="NULL" class="mw-redirect" id="mwQQ">NULL</a> si no se encuentra</td></tr>
<tr id="mwQg">
<td id="mwQw"><code id="mwRA">memcmp</code></td>
<td id="mwRg">compara los n primeros caracteres de dos áreas de memoria</td></tr>
<tr id="mwRw">
<td id="mwSA"><code id="mwSQ">memset</code></td>
<td id="mwSw">sobre escribe un área de memoria con un patrón de bytes dado</td></tr>
<tr id="mwTA">
<td id="mwTQ"><code id="mwTg"><a rel="mw:WikiLink" href="Strcat" title="Strcat" id="mwTw">strcat</a></code></td>
<td id="mwUA">añade una cadena al final de otra</td></tr>
<tr id="mwUQ">
<td id="mwUg"><code id="mwUw">strncat</code></td>
<td id="mwVQ">añade los n primeros caracteres de una cadena al final de otra</td></tr>
<tr id="mwVg">
<td id="mwVw"><code id="mwWA">strchr</code></td>
<td id="mwWg">localiza un carácter en una cadena, buscando desde el principio</td></tr>
<tr id="mwWw">
<td id="mwXA"><code id="mwXQ">strrchr</code></td>
<td id="mwXw">localiza un carácter en una cadena, buscando desde el final</td></tr>
<tr id="mwYA">
<td id="mwYQ"><code id="mwYg"><a rel="mw:WikiLink" href="Strcmp" title="Strcmp" id="mwYw">strcmp</a></code></td>
<td id="mwZA">compara dos cadenas alfabéticamente ('a'!='A')</td></tr>
<tr id="mwZQ">
<td id="mwZg"><code id="mwZw">strncmp</code></td>
<td id="mwaQ">compara los n primeros caracteres de dos cadenas numéricamente ('a'!='A')</td></tr>
<tr id="mwag">
<td id="mwaw"><code id="mwbA">strcoll</code></td>
<td id="mwbg">compara dos cadenas según la colación actual ('a'=='A')</td></tr>
<tr id="mwbw">
<td id="mwcA"><code id="mwcQ"><a rel="mw:WikiLink" href="Strcpy" title="Strcpy" id="mwcg">strcpy</a></code></td>
<td id="mwcw">copia una cadena en otra</td></tr>
<tr id="mwdA">
<td id="mwdQ"><code id="mwdg">strncpy</code></td>
<td id="mweA">copia los n primeros caracteres de una cadena en otra</td></tr>
<tr id="mweQ">
<td id="mweg"><code id="mwew">strerror</code></td>
<td id="mwfQ">devuelve la cadena con el mensaje de error correspondiente al número de error dado</td></tr>
<tr id="mwfg">
<td id="mwfw"><code id="mwgA">strlen</code></td>
<td id="mwgg">devuelve la longitud de una cadena</td></tr>
<tr id="mwgw">
<td id="mwhA"><code id="mwhQ">strlwr</code></td>
<td id="mwhw">devuelve la misma cadena pero en minúsculas</td></tr>
<tr id="mwiA">
<td id="mwiQ"><code id="mwig">strspn</code></td>
<td id="mwjA">devuelve la posición del primer carácter de una cadena que no coincide con ninguno de los caracteres de otra cadena dada</td></tr>
<tr id="mwjQ">
<td id="mwjg"><code id="mwjw">strcspn</code></td>
<td id="mwkQ">devuelve la posición del primer carácter que coincide con alguno de los caracteres de otra cadena dada</td></tr>
<tr id="mwkg">
<td id="mwkw"><code id="mwlA">strpbrk</code></td>
<td id="mwlg">encuentra la primera ocurrencia de alguno de los caracteres de una cadena dada en otra</td></tr>
<tr id="mwlw">
<td id="mwmA"><code id="mwmQ">strstr</code></td>
<td id="mwmw">busca una cadena dentro de otra</td></tr>
<tr id="mwnA">
<td id="mwnQ"><code id="mwng">strtok</code></td>
<td id="mwoA">parte una cadena en una secuencia de tokens</td></tr>
<tr id="mwoQ">
<td id="mwog"><code id="mwow">strxfrm</code></td>
<td id="mwpQ">transforma una cadena en su forma de colación (??)</td></tr>
<tr id="mwpg">
<td id="mwpw"><code id="mwqA">strrev</code></td>
<td id="mwqg">invierte una cadena</td></tr>
<tr id="mwqw">
<td id="mwrA"><code id="mwrQ">strupr</code></td>
<td id="mwrw">devuelve la misma cadena pero en mayúsculas</td></tr>
<tr class="mw-empty-elt" id="mwsA"></tr>
</tbody></table>

<section data-mw-section-id="3" id="mwsQ" aria-labelledby="Extensiones_para_C_ISO"><div class="mw-heading mw-heading3"><h3 id="Extensiones_para_C_ISO">Extensiones para C <a rel="mw:WikiLink" href="ISO" title="ISO" class="mw-redirect" id="mwsg">ISO</a></h3></div>
<table class="wikitable" id="mwsw">
<tbody id="mwtA"><tr id="mwtQ">
<th id="mwtg">Nombre</th><th id="mwtw">Descripción</th><th id="mwuA">Especificación</th></tr>
<tr id="mwuQ">
<td id="mwug"><code id="mwuw">strdup</code></td>
<td id="mwvQ">hace un duplicado de la cadena dada reservando dinámicamente la memoria necesaria</td>
<td id="mwvg"><a rel="mw:WikiLink" href="POSIX" title="POSIX" id="mwvw">POSIX</a>; originalmente una extensión BSD</td></tr>
<tr id="mwwA">
<td id="mwwQ"><code id="mwwg">strcpy s</code></td>
<td id="mwxA">variante de <code id="mwxQ">strcpy</code> que verifica los límites limitados</td>
<td id="mwxg">ISO/IEC WDTR 24731</td></tr>
<tr id="mwxw">
<td id="mwyA"><code id="mwyQ">mempcpy</code></td>
<td id="mwyw">variante de <code id="mwzA">memcpy</code> que devuelve un puntero al byte siguiente al último byte escrito</td>
<td id="mwzQ"><a rel="mw:WikiLink" href="GNU" title="GNU" id="mwzg">GNU</a></td></tr>
<tr id="mwzw">
<td id="mw0A"><code id="mw0Q">memccpy</code></td>
<td id="mw0w">variante de <code id="mw1A">memcpy</code> que para al encontrar un byte determinado</td>
<td id="mw1Q">UNIX 98?</td></tr>
<tr id="mw1g">
<td id="mw1w"><code id="mw2A">strerror r</code></td>
<td id="mw2g">análogo a <code id="mw2w">strerror_r</code> (<i id="mw3A">thread-safe</i>)</td>
<td id="mw3Q">GNU, POSIX</td></tr>
<tr id="mw3g">
<td id="mw3w"><code id="mw4A">strlcpy</code></td>
<td id="mw4g">variante de <code id="mw4w">strcpy</code> que verifica los límites</td>
<td id="mw5A">originalmente <a rel="mw:WikiLink" href="OpenBSD" title="OpenBSD" id="mw5Q">OpenBSD</a>, actualmente también <a rel="mw:WikiLink" href="FreeBSD" title="FreeBSD" id="mw5g">FreeBSD</a>, <a rel="mw:WikiLink" href="Solaris_(sistema_operativo)" title="Solaris (sistema operativo)" id="mw5w">Solaris</a>, <a rel="mw:WikiLink" href="Mac_OS_X" title="Mac OS X" class="mw-redirect" id="mw6A">OS X</a></td></tr>
<tr id="mw6Q">
<td id="mw6g"><code id="mw6w">strtok r</code></td>
<td id="mw7Q">versión <i id="mw7g">thread-safe</i> de <code id="mw7w">strtok</code></td>
<td id="mw8A">POSIX</td></tr>
<tr id="mw8Q">
<td id="mw8g"><code id="mw8w">strsignal</code></td>
<td id="mw9Q">análogamente a <code id="mw9g">strerror</code>, devuelve la cadena por minorías del arreglo cadena en la representación de la señal <code id="mw9w">sig</code> (no <i id="mw-A">thread safe</i>)</td>
<td id="mw-Q">BSDs, Solaris, Linux</td></tr>
</tbody></table>

</section></section><section data-mw-section-id="4" id="mw-g" aria-labelledby="Véase_también"><div class="mw-heading mw-heading2"><h2 id="Véase_también"><span id="V.C3.A9ase_tambi.C3.A9n" typeof="mw:FallbackId"></span>Véase también</h2></div>
<ul id="mw-w"><li id="mw_A"><a rel="mw:WikiLink" href="Lenguaje_de_programaci%C3%B3n_C" title="Lenguaje de programación C" class="mw-redirect" id="mw_Q">Lenguaje de programación C</a></li>
<li id="mw_g"><a rel="mw:WikiLink" href="C%2B%2B" title="C++" id="mw_w">C++</a></li></ul>

<span class="mw-empty-elt" typeof="mw:Transclusion" id="mwAQA"><style data-mw-deduplicate="TemplateStyles:r161257576" typeof="mw:Extension/templatestyles">
/* start https://es.wikipedia.org/ */


.mw-parser-output .mw-authority-control{margin-top:1.5em}.mw-parser-output .mw-authority-control .navbox table{margin:0}.mw-parser-output .mw-authority-control .navbox hr:last-child{display:none}.mw-parser-output .mw-authority-control .navbox+.mw-mf-linked-projects{display:none}.mw-parser-output .mw-authority-control .mw-mf-linked-projects{display:flex;padding:0.5em;border:1px solid var(--border-color-base,#a2a9b1);background-color:var(--background-color-neutral,#eaecf0);color:var(--color-base,#202122)}.mw-parser-output .mw-authority-control .mw-mf-linked-projects ul li{margin-bottom:0}.mw-parser-output .mw-authority-control .navbox{border:1px solid var(--border-color-base,#a2a9b1);background-color:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .mw-authority-control .navbox-list{border-color:#f8f9fa}.mw-parser-output .mw-authority-control .navbox th{background-color:#eeeeff}html.skin-theme-clientpref-night .mw-parser-output .mw-authority-control .mw-mf-linked-projects{border:1px solid var(--border-color-base,#72777d);background-color:var(--background-color-neutral,#27292d);color:var(--color-base,#eaecf0)}html.skin-theme-clientpref-night .mw-parser-output .mw-authority-control .navbox{border:1px solid var(--border-color-base,#72777d)!important;background-color:var(--background-color-neutral-subtle,#202122)!important}html.skin-theme-clientpref-night .mw-parser-output .mw-authority-control .navbox-list{border-color:#202122!important}html.skin-theme-clientpref-night .mw-parser-output .mw-authority-control .navbox th{background-color:#27292d!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .mw-authority-control .mw-mf-linked-projects{border:1px solid var(--border-color-base,#72777d)!important;background-color:var(--background-color-neutral,#27292d)!important;color:var(--color-base,#eaecf0)!important}html.skin-theme-clientpref-os .mw-parser-output .mw-authority-control .navbox{border:1px solid var(--border-color-base,#72777d)!important;background-color:var(--background-color-neutral-subtle,#202122)!important}html.skin-theme-clientpref-os .mw-parser-output .mw-authority-control .navbox-list{border-color:#202122!important}html.skin-theme-clientpref-os .mw-parser-output .mw-authority-control .navbox th{background-color:#27292d!important}}


/* end   https://es.wikipedia.org/ */
</style></span><div class="mw-authority-control" id="mwAQE"><div role="navigation" class="navbox" aria-label="Navbox" style="width: inherit;padding:3px"><table class="hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width: 12%; text-align:center;"><a rel="mw:WikiLink" href="Control_de_autoridades" title="Control de autoridades">Control de autoridades</a></th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><b>Proyectos Wikimedia</b></li>
<li><span style="white-space:nowrap;"><span typeof="mw:File"><a href="Wikidata" title="Wikidata"><img alt="Wd" src="./_assets_/0c70a452f799bfe840676ee341124611/Wikidata-logo.svg.png" decoding="async" data-file-width="1050" data-file-height="590" data-file-type="drawing" height="11" width="20" class="mw-file-element" loading="lazy"></a></span> Datos:</span> <span class="uid"><a rel="mw:WikiLink/Interwiki" href="https://www.wikidata.org/wiki/Q307236" title="wikidata:Q307236" class="extiw external">Q307236</a></span></li></ul>

</div></td></tr></tbody></table></div><div class="mw-mf-linked-projects hlist">
<ul><li><span style="white-space:nowrap;"><span typeof="mw:File"><a href="Wikidata" title="Wikidata"><img alt="Wd" src="./_assets_/0c70a452f799bfe840676ee341124611/Wikidata-logo.svg.png" decoding="async" data-file-width="1050" data-file-height="590" data-file-type="drawing" height="11" width="20" class="mw-file-element" loading="lazy"></a></span> Datos:</span> <span class="uid"><a rel="mw:WikiLink/Interwiki" href="https://www.wikidata.org/wiki/Q307236" title="wikidata:Q307236" class="extiw external">Q307236</a></span></li></ul>
</div></div>

</section></div><!--htdig_noindex--><div><div class="zim-footer">
    Este artículo ha sido escrito por <a class="external text" title="Esta página se editó por última vez el 2023-06-12" href="https://es.wikipedia.org/wiki/?title=String.h&amp;oldid=151795563">Wikipedia</a>. El texto está disponible bajo la licencia <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.es">Creative Commons Attribution-Share Alike 4.0</a>. Pueden aplicarse cláusulas adicionales a los archivos multimedia.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>