fbpx
Wikipedia

strcat

En computación el lenguaje de programación C ofrece una llamada en la biblioteca estándar de C denominada strcat. 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 otra pasándole dos punteros a los bloques de memoria reservados. El nombre strcat es una abreviación de "string concatenate" (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 cadenas sobreescribirá la memoria adyacente. Por lo que puede causar comportamiento impredecibles. Normalmente el programa terminará con un error del tipo violación de acceso. Aunque un atacante experto puede usarlo para lograr un desbordamiento de búfer para atacar un sistema. (ver seguridad informática).

Variantes de comprobación de límites

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

Enlaces externos

  • Página de man de strcat(3) OpenBSD
  •   Datos: Q5106237

strcat, computación, lenguaje, programación, ofrece, llamada, biblioteca, estándar, denominada, esta, permite, añadir, bloque, memoria, otro, bloques, deben, terminar, carácter, nulo, como, cadenas, caracteres, tipos, datos, mismos, añade, cadena, otra, pasánd. En computacion el lenguaje de programacion C ofrece una llamada en la biblioteca estandar de C denominada strcat Esta permite anadir un bloque de memoria a otro Los dos bloques deben terminar con un caracter nulo Como en C las cadenas de caracteres no son tipos de datos en si mismos strcat anade una cadena a otra pasandole dos punteros a los bloques de memoria reservados El nombre strcat es una abreviacion de string concatenate concatenacion 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 estandar Esta es una posible implementacion 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 Tambien 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 anadir es demasiado larga para contener las dos cadenas sobreescribira la memoria adyacente Por lo que puede causar comportamiento impredecibles Normalmente el programa terminara con un error del tipo violacion de acceso Aunque un atacante experto puede usarlo para lograr un desbordamiento de bufer para atacar un sistema ver seguridad informatica Variantes de comprobacion de limites EditarLa variante segura strncat hace lo mismo que strcat pero solo anade un numero especifico de bytes Es susceptible a dos tipos de desbordamiento de buffer El primero ocurre cuando el numero de bytes especificados es demasiado largo para la cadena de destino El segundo cuando la cadena de destino solo puede contener el numero exacto de bytes especificados Estos ataques provocan el llamado off by one error y es explotable por un atacante experto OpenBSD dispone de una version mas segura llamada strlcat Enlaces externos EditarPagina de man de strcat 3 OpenBSD Datos Q5106237Obtenido de https es wikipedia org w index php title Strcat amp oldid 133476670, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos