Manejo de cadenas

Páginas: 8 (1996 palabras) Publicado: 3 de septiembre de 2013
16/08/13

17. Manejo de cadenas

Previo: 16. Entrada y salida (E/S) Arriba: Manual de C Siguiente: 18. Acceso de Archivos y
Regresar
Subsecciones
17.1 Funciones básicas para el manejo de cadenas
17.1.1 Búsqueda en cadenas
17.2 Prueba y conversión de caracteres < t p . >
cyeh
17.3 Operaciones con la memoria < e o y h
mmr.>
17.4 Ejercicios

17. Manejo de cadenas < t i g h
srn.>Recordando la presentación de arreglos hecha (capítulo 5) en donde las cadenas están definidas como
un arreglo de caracteres o un apuntador a una porción de memoria conteniendo caracteres ASCII. Una
cadena en C es una secuencia de cero o más caracteres seguidas por un caracter N L o \ :
UL 0

Figura 17.1: Representación de un arreglo.
Es importante preservar el caracter de terminación N L , yaque con éste es como C define y maneja
UL
las longitudes de las cadenas. Todas las funciones de la biblioteca estándar de C lo requieren para una
operación satisfactoria.
En general, aparte de algunas funciones restringidas en longitud (s r c t ) s r c p )y s r c y )
tna(, tnm(
t n p ( ),
al menos que se creen cadenas a mano, no se deberán encontrar problemas. Se deberán usar lasfunciones para manejo de cadenas y no tratar de manipular las cadenas en forma manual
desmantelando y ensamblando cadenas.

17.1 Funciones básicas para el manejo de cadenas
Todas las funciones para manejo de cadenas tienen su prototipo en:
#nld

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 oi (incluyendo el carácter terminador ' 0 ) al vector apuntado por d s . Las cadenas
rg
\'
et
no deben solaparse, y la de destino, debe ser suficientemente grande como para alojar la
copia.
int strcmp(const char *s1, const char *s2) -- Compara las dos cadenas de caracteres s y
1
s . Devuelve un entero menor, igual o mayor que cero si se encuentra que s es,
2
1
respectivamente, menorque, igual a, o mayor que s .
2
char *strerror(int errnum) -- Devuelve un mensaje de error que corresponde a un número de
error.
www.fismat.umich.mx/mn1/manual/node18.html

1/5

16/08/13

17. Manejo de cadenas

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.
intstrncmp(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 s r m ( .
tcp)
strncasecmp(const char *s1, const char *s2, size_t n) -- versión insensible a mayúsculaso
minúsculas de strncmp() que compara los primeros ncaracteres de s .
1
El uso de muchas funciones es directo, por ejemplo:
ca *1="oa;
hr s
Hl"
ca *2
hr s;
itlniu;
n ogtd
lniu =sre(Hl";
ogtd
tln"oa)
(od srp(2s)
vi) tcys,1;

/ ln =4*
* og
/

Observar que tanto s r a ( y s r o y )regresan una copia de su primer argumento, el cual es el
tct)
tcp(
arreglo destino. Observartambié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 s r m ( compara lexicográficamente las dos cadenas y regresa:
tcp)
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 copiados r c t ) s r c p )y s r c y )son versiones más restringidas que sus
tna(, tnm(
tnp(
contrapartes más generales. Realizan una tarea similar, pero solamente para los primeros n caracteres.
Observar que el caracter de terminación NULL podría ser violado cuando se usa estas funciones, por
ejemplo:
ca *1="oa;
hr s
Hl"
ca *2=2
hr s
;
itlniu =2
n ogtd
;
(od srcys,s,lniu) / s ="o *
vi)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Manejo de la cadena de suministros
  • Manejo de la cadena de suministro
  • Protocolo De Manejo Cadena De Frio
  • ANEXO B Manejo De La Cadena De Fr O
  • Funciones matematicas y manejos de cadenas en java
  • MANEJO DE MATERIALES Cadena de Valor
  • Manejo de cadenas en c++
  • Resumen de manejo de cadenas en java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS