Bienvenidos sean a este post, hoy hablaremos sobre la libreria que nos permite realizar algunas operaciones sobre las cadenas.
En este post introducimos por primera vez a la libreria string.h para poder acceder a una funcion para obtener el total de caracteres de una cadena, strlen, pero hoy nos centraremos en algunas de las funciones que usaremos mas comunmente en nuestros codigos, veamos estos primeros que nos permitiran agregar, copiar y cortar una cadena:
- strcat(destino, origen), esta funcion nos permite unir/concatenar dos cadenas, la primera variable (destino) sera donde se almacenara la union, y origen sera la cadena que le agregaremos, el destino debe ser lo suficiente grande para almacenar ambas cadenas
- strcpy(destino, origen), esta permite copiar una cadena en una variable, destino sera la que recibira el texto copiado, y origen sera el texto que copiaremos, este puede ser una variable o un literal
- strtok(cadena, delimitador), nos permite dividir una cadena en varios tokens o sub-strings a traves del elemento como delimitador informado
La siguiente funcion nos permite comparar dos cadenas:
- strcmp(cadena1, cadena2), esta funcion compara dos cadenas distintas
Las siguientes funciones se utilizan para buscar un caracter en una cadena:
- strchr(cadena, caracter), esta funcion nos devolvera la primera coincidencia del caracter informado en la cadena informada
- strrchr(cadena, caracter), esto hace lo mismo que el anterior pero en modo reverso
- strpbrk(cadena_1, cadena_2), localiza y nos devuelve los caracteres que coinicden en ambas cadenas
Esta funcion nos permite buscar una cadena en otra cadena:
- strstr(cadena, texto), este nos permite buscar un texto en una cadena y en caso de encontrar nos la devuelve
Lo malo de estas estas funciones es no son seguras y no estan libres de errores, dado que no podemos asegurar que se reciban array de caracters terminados con NUL, pero tenemos algunas funciones que se consideran como «seguras» porque nos permiten establecer una X cantidad de caracteres a trabajar, veamos algunos casos:
- strncat(destino, origen, numero), es muy similar a strcat pero con un atributo mas para indicar la cantidad de caracteres que uniremos a la variable de destino
- strncpy(destttino, origen, numero), al igual que en el caso anterior es similar al strcpy pero con un atributo mas para establecer los caracteres que se copiaran
- strncmp(cadena1, cadena2, numero), de nuevo al igual que los anteriores es igual a su metodo no seguro pero con el atributo adicional del numero de caracteres a copiar
Para entenderlo un poco mejor vamos a crear un pequeño ejemplo, para ello deben generar un nuevo archivo con el nombre ejemplo24.c y le agregaremos el siguiente codigo:
ejemplo24.c
#include <stdio.h>
#include <string.h>
int main()
{
char cadena_1[]="Hola, ";
char cadena_2[]="Mundo!";
printf("%s%s %d\n", cadena_1, cadena_2, strlen(cadena_1));
strcat(cadena_1, cadena_2);
printf("%s %d\n", cadena_1, strlen(cadena_1));
printf("%s\n", strchr(cadena_1, 'M'));
return 0;
}
Este ejemplo bien simple nos servira para poder ver algunas de las funciones antes descriptas, primero definiremos dos variables llamadas cadena_1 y cadena_2 con sus respectivos mensajes, despues de esto nuestra primera instruccion sera mostrar los dos valores de las cadenas y por ultimo el tamaño de la variable cadena_1, lo siguiente sera concatenar las dos variables en cadena_1 a traves de strcat, para despues mostrar el nuevo valor de cadena_1 asi como su tamaño para finalmente mostrar el resultado de utilizar a strchr donde le pedimos que busque la letra M en cadena_1, con todo esto comentado compilemos y veamos como es su salida:
tinchicus@dbn001vrt:~/lenguajes/C$ ./prog/ejemplo24
Hola, Mundo! 6
Hola, Mundo! 12
Mundo!
tinchicus@dbn001vrt:~/lenguajes/C$
Vamos a ver las curiosidades, la primera nos mostro ambos valores y nos informo el tamaño en ese momento de cadena_1, la siguiente observen que la union de ambas cadenas nos produjo la misma salida pero para entender la diferencia entre ambos conceptos, el tamaño de cadena_1 ahora es la suma de las dos variables, y por ultimo nos mostro el resultado de buscar la letra M en la cadena, una vez encontrada procede a devolver todo lo que sigue, esto es una forma simple de ver como trabaja, mas adelante detallara en cada uno de ellos y otras funciones pertenecientes a esta libreria.
En resumen, hoy hemos visto la libreria string.h, que es, para que sirve, algunas de las funciones que mas utilizaremos, una breve descripcion de cada una de ellas, la version «segura» de algunas de ellas, asi como tambien un pequeño ejemplo para ver algunas de estas en accion, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
