Cadena De Caracteres

Páginas: 5 (1124 palabras) Publicado: 31 de octubre de 2012
ESCUELA POLITÉCNICA DEL EJÉRCITO

FECHA:26-deNoviembredel2008
CURSO: 3ro “D” de electrónica

TEMA: CADENAS DE CARACTRERES

OBJETIVOS: conocer la inicialización de una cadena de caracteres y su respectivo manejo con las funciones aplicadas a la cadena

En el lenguaje C, una cadena de caracteres se representa con una matriz
de caracteres. El valor de una cadena de caracteres se escribeentre comillas
dobles, por ejemplo: “Hola”, que representa la siguiente cadena de caracteres: ‘H’ ‘o’ ‘l’ ‘a’ ‘\0’. Por convención, todas las cadenas de caracteres en C finalizan con el carácter nulo (‘\0’). Este carácter indica el fin de una cadena de caracteres. Si la matriz no incluye este carácter al final no se considerará como una cadena de caracteres, sino como una simple matriz decaracteres. La longitud de la cadena “Hola” es igual a 4 caracteres (no se incluye el carácter nulo), sin embargo la cadena ocupa en memoria el espacio de 5
caracteres. En C una cadena de caracteres se define como una matriz de tipo char:

char cadena [Número de caracteres];

char cad[20] = "hola";
el largo de la cadena de caracteres es 4, valor que se puede obtener con el llamado "strlen(cad)",sin embargo el largo del array es 20, pues siguen siendo 20 los bytes en memoria asociados al nombre 'cad', este valor puede ser obtenido con:
sizeof(cad);
Las librerias "string.h" y "mem.h" contienen muchas rutinas para tratar con cadenas de caracteres, es necesario conocer en detalle el modo en que cada funcion trata la cuestion del '\0' final para no encontrarse con sorpresas.
Funcionesbásicas para el manejo de cadenas
Todas las funciones para manejo de cadenas tienen su prototipo en:
#include <string.h>
Las funciones más comunes son descritas a continuación:
* char *strcpy(const char *dest, const char *orig) -- Copia la cadena de caracteres apuntada por orig (incluyendo el carácter terminador '\0') al vector apuntado por dest. Las cadenas no deben solaparse, y la dedestino, debe ser suficientemente grande como para alojar la copia.
* int strcmp(const char *s1, const char *s2) -- Compara las dos cadenas de caracteres s1 y s2. Devuelve un entero menor, igual o mayor que cero si se encuentra que s1 es, respectivamente, menor que, igual a, o mayor que s2.
* char *strerror(int errnum) -- Devuelve un mensaje de error que corresponde a un número de error.* int strlen(const char *s) -- Calcula la longitud de la cadena de caracteres.
* char *strncat(char *s1, const char *s2, size_t n) -- Agrega n caracteres de s2 a s1.
* int strncmp(const char *s1, char *s2, size_t n) -- Compara los primeros n caracteres de dos cadenas.
* char *strncpy(const char *s1, const char *s2, size_t n) -- Copia los primeros n caracteres de s2 a s1.* strcasecmp(const char *s1, const char *s2) -- versión que ignora si son mayúsculas o minúsculas de strcmp().
* strncasecmp(const char *s1, const char *s2, size_t n) -- versión insensible a mayúsculas o minúsculas de strncmp() que compara los primeros n caracteres de s1.
El uso de muchas funciones es directo, por ejemplo:
char *s1 = "Hola";
char *s2;
int longitud;

longitud =strlen("Hola"); /* long = 4 */
(void) strcpy(s2,s1);
Observar que tanto strcat() y strcopy() regresan una copia de su primer argumento, el cual es el arreglo destino. Observar también que orden de los argumentos es arreglo destino seguido por arreglo fuente lo cual a veces es una situación para hacerlo incorrectamente.
La función strcmp() compara lexicográficamente las dos cadenas y regresa:
*Menor que cero -- si s1 es léxicamente menor que s2;
* Cero -- si s1 y s2 son léxicamente iguales;
* Mayor que cero -- si s1 es léxicamente mayor que s2;
Las funciones de copiado strncat(), strncmp() y strncpy() son versiones más restringidas que sus contrapartes más generales. Realizan una tarea similar, pero solamente para los primeros n caracteres. Observar que el caracter de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Cadenas de caracteres
  • Cadenas de caracteres
  • cadena de caracteres
  • cadenas de caracteres
  • cadenas de caracteres
  • Cadenas de caracteres
  • Cadenas De Caracteres
  • Ejercicios De Cadena De Caracteres

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS