ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Funciones para el manejo de cadenas en lenguaje C


Enviado por   •  16 de Enero de 2014  •  1.352 Palabras (6 Páginas)  •  660 Visitas

Página 1 de 6

2 Funciones para el manejo de cadenas en lenguaje C

Aunque C no incorpora en su definición operadores para el manejo de cadenas de caracteres, todo compilador de C proporciona una librera estándar (string.h) con funciones para facilitar su utilización. Destacar algunas de ellas:

2.1 STRCPY

La función strcpy se encuentra en la biblioteca <string.h> y se utiliza para copiar una cadena de caracteres (fuente) en el lugar que ocupaba otra (destino). Esta copia es destructiva, o sea, que todos los caracteres que estaban en la cadena destino desaparecen, aunque la cadena destino fuera más larga que la cadena fuente .La cadena destino se pone como primer argumento de la función y la cadena fuente como segundo. Vamos a verlo con un ejemplo.

#include<stdio.h>

#include<string.h>

int main()

{

char texto1[]="corta";

char texto2[]="mediana";

char texto3[]="larguisima";

strcpy(texto2,texto1);

printf("%s\n",texto2);

strcpy(texto2,texto3);

printf("%s\n",texto2);

getch();

return 0;

}

Resultado:

Corta

Larguísima

2.2 STRCAT

En el programa anterior vimos que la función strcpy es desctructiva, pero hay otra función en la librería <string.h> que copia una cadena (fuente) en otra (destino) sin destruir ésta, es decir, que copia una cadena detrás de la otra esta función es conocida como strcat. Vamos a hacer un ejemplo:

#include<stdio.h>

#include<string.h>

int main()

{

char texto1[]="Don Pepito";

char texto2[]=" y ";

char texto3[]="Don Jose";printf("%s\n",texto1);

strcat(texto1,texto2);

printf("%s\n",texto2);

strcat(texto1,texto3);

printf("%s\n",texto2);

getchar();

return 0;

}

Resultado:

Don Pepito

Don Pepito y

Don Pepito y Don Jose

2.3 STRLEN

Esta función devuelve el total (entero) de caracteres que conforman una cadena (excluyendo el caracter nulo \0). Vamos a hacer un ejemplo:

#include <stdio.h>

#include <string.h>

#include <conio.h>

#define MAXLON 80

int main(void)

{

char a[MAXLON+1];

int longitud;

clrscr();

printf ("Introduce una cadena (max. %d caracteres): ", MAXLON);

scanf("%s",&a);

longitud = strlen(a);

printf ("\nLongitud de la cadena: %d\n", longitud);

getch();

return 0;

}

Resultado:

Introduce una cadena <max.80 caracteres>:prueba

Longitud de la cadena: 6

2.4 STRCMP

strcmp (abreviatura de ((string comparison))). La función strcmp recibe dos cadenas, a y b, devuelve un entero. El entero que resulta de efectuar la llamada strcmp(a, b) codifica el resultado de la comparación:

Es menor que cero si la cadena a es menor que b, es 0 si la cadena a es igual que b, y es mayor que cero si la cadena a es mayor que b.

Naturalmente, menor significa que va delante en orden alfabético, y mayor que va detrás.

#include <stdio.h>

#include <string.h>

int main()

{

char s1[6] = "Abeja";

char s2[6] = "abeja";

int i;

printf( "s1=%s\t", s1 );

printf( "s2=%s\n", s2 );

i = strcmp( s1, s2 );

printf( "s1 es " );

if( i < 0 ) printf( "menor que" );

else if( i > 0 ) printf( "mayor que" );

else printf( "igual a" );

printf( " s2\n" );

return 0;

}

Resultado:

S1=Abeja s2=abeja

S1 es menor que s2

2.5 Otras Funciones útiles para operar cadenas de caracteres.

No sólo string.h contiene funciones útiles para el tratamiento de cadenas. En ctype.h se encuentran unas funciones que permiten hacer cómodamente preguntas acerca de los caracteres, como si son mayúsculas, minúsculas, dígitos, etc:

isalnum(caracter): devuelve cierto (un entero cualquiera distinto de cero) si caracter es una letra o dígito, y falso (el valor entero 0) en caso contrario.

isalpha(caracter): devuelve cierto si caracter es una letra, y falso en caso contrario.

isblank(caracter):

...

Descargar como (para miembros actualizados) txt (8 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com