Para Unir Cadena de Caracteres

3

Click here to load reader

Transcript of Para Unir Cadena de Caracteres

Page 1: Para Unir Cadena de Caracteres

strcat 1

strcatEn computación el lenguaje de programación C ofrece una llamada en la biblioteca estándar de C denominadastrcat. Esta permite añadir un bloque de memoria a otro. Los dos bloques deben terminar con un carácter nulo.Como en C las cadenas de caracteres no son tipos de datos en sí mismos strcat añade una cadena a otrapasándole dos punteros a los bloques de memoria reservados. El nombre strcat es una abreviación de "stringconcatenate" (concatenación de cadena).Por ejemplo:

char str1[100] = "¡ Hola,"; /* 100: se reserva espacio extra */

strcat (str1, " mundo !\n");

printf (str1); /* muestra "¡ Hola, mundo !" en la

salida estándar */

Esta es una posible implementación de strcat:

char *strcat (char *dest, const char *src)

{

const char *p;

char *q;

for (q = dest; *q != '\0'; q++)

;

for(p = src; *p != '\0'; p++, q++)

*q = *p;

*q = '\0';

return dest;

}

También se puede definir usando otras funciones de la biblioteca de cadenas:

char *strcat (char *dest, const char *src)

{

strcpy (dest + strlen (dest), src);

return dest;

}

strcat puede ser peligroso porque si la cadena a añadir es demasiado larga para contener las dos cadenassobreescribirá la memoria adyacente. Por lo que puede causar comportamiento impredecibles. Normalmente elprograma terminará con un error del tipo violación de acceso. Aunque un atacante experto puede usarlo para lograrun desbordamiento de búfer para atacar un sistema. (ver seguridad informática).

Page 2: Para Unir Cadena de Caracteres

strcat 2

Variantes de comprobación de límitesLa variante segura strncat hace lo mismo que strcat pero solo añade un número específico de bytes. Essusceptible a dos tipos de desbordamiento de buffer. El primero ocurre cuando el número de bytes especificados esdemasiado largo para la cadena de destino. El segundo cuando la cadena de destino solo puede contener el númeroexacto de bytes especificados. Estos ataques provocan el llamado off by one error y es explotable por un atacanteexperto. OpenBSD dispone de una versión más segura llamada strlcat.

Enlaces externos• Página de man de strcat(3) [1] OpenBSD

Referencias[1] http:/ / www. openbsd. org/ cgi-bin/ man. cgi?query=strcat

Page 3: Para Unir Cadena de Caracteres

Fuentes y contribuyentes del artículo 3

Fuentes y contribuyentes del artículostrcat  Fuente: http://es.wikipedia.org/w/index.php?oldid=49176931  Contribuyentes: Jesuja, Karras, Nelson.cruz, Shooke, Tirithel, 2 ediciones anónimas

LicenciaCreative Commons Attribution-Share Alike 3.0 Unported//creativecommons.org/licenses/by-sa/3.0/