Lenguaje De Programacion
Carrera: Ingeniería en Informática.
Trabajo de Práctico
De
Lenguaje de Programación I
Profesor: Lic. Charles Cabrera.
Tema: Funciones de Cadena
Primer año
San Lorenzo – Paraguay
2010
Índice
Pág.
* Introducción……………………………………….…………… 4
* Funciones de Cadena en el Lenguaje C- Conceptos.…..… 5
* FuncionesBásicas…………………………………….……….5
* Búsqueda en Cadenas………………………………………...7
* Prueba y conversión de caracteres <ctype.h>……………...9
* Operaciones con la memoria<memory.h>…………………10
* Conclusión …………………………………………………….11
Introducción
Con este trabajo práctico se pretende afianzar y poner en práctica lo aprendido en las clases dictadas en la facultad. Valoramos el objetivo de poner a prueba lahabilidad investigativa del alumno para el desarrollo en cuanto el tema de “Funciones de Cadenas” en el lenguaje C.
El lenguaje C es uno de los más rápidos y potentes que hay hoy en día. Algunos dicen que está desfasado y que el futuro es Java. No sé si tendrá futuro pero está claro que presente si tiene. No hay más que decir que el sistema operativo Linux está desarrollado en C en su prácticatotalidad. Así que creo que no sólo no perdemos nada aprendiéndolo sino que ganamos mucho. Para empezar nos servirá como base para aprender C++ e introducirnos en el mundo de la programación Windows.
A continuación estaremos visualizando las cadenas (arrays), sus funciones los ejemplos, y como utilizarlos.
Funciones de cadena en el Lenguaje C
En C no existe un tipo string como en otros lenguajes.No existe un tipo de datos para almacenar texto, se utilizan arrays de chars. Funcionan igual que los demás arrays con la diferencia que ahora jugamos con letras en vez de con números.
Se les llama cadenas, strings o tiras de caracteres. A partir de ahora les llamaremos cadenas.
Para declarar una cadena se hace como un array:
Char texto [20];
Al igual que en los arrays no podemos meter másde 20 elementos en la cadena.
En términos más sencillos; una cadena en C es una secuencia de cero o más caracteres seguidas por un caracter NULL o \0:
Es importante preservar el caracter de terminación NULL, ya que con éste es como C define y maneja las longitudes de las cadenas. Todas las funciones de la biblioteca estándar de C lo requieren para una operación satisfactoria.
Por ejemplo, elsiguiente fragmento inicializa cadena con ``hola'':
char cadena[5]="hola";
El código anterior es equivalente a:
char cadena[5]={'h','o','l','a','\0'};
Funciones bá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 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 s1 y s2. Devuelve unentero 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,...
Regístrate para leer el documento completo.