0% encontró este documento útil (0 votos)
118 vistas6 páginas

Funciones de C para Manipular Strings

Este documento describe cadenas o strings en C y sus funciones. Una cadena es un arreglo de caracteres que termina en un caracter nulo. Incluye ejemplos de declaración de cadenas, lectura de entrada del usuario, y conversión a mayúsculas. También explica funciones como strcpy(), strcat(), strcmp(), y strlen() para copiar, concatenar, comparar, y determinar la longitud de cadenas.

Cargado por

Jocker RC
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
118 vistas6 páginas

Funciones de C para Manipular Strings

Este documento describe cadenas o strings en C y sus funciones. Una cadena es un arreglo de caracteres que termina en un caracter nulo. Incluye ejemplos de declaración de cadenas, lectura de entrada del usuario, y conversión a mayúsculas. También explica funciones como strcpy(), strcat(), strcmp(), y strlen() para copiar, concatenar, comparar, y determinar la longitud de cadenas.

Cargado por

Jocker RC
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

CADENAS O STRING

Una cadena es un arreglo de tipo caracter.


Ejemplo:
char nombre[30];
/* declara la variable nombre de 30 caracteres */
Toda cadena de caracteres termina en un nulo '\0'.
Ejemplo:
#define TM 5
#include "stdio.h"
main()
{ char s[TM];
puts("Escribe hola");
gets(s);
printf("%s\n", s);
}
La cadena s quedar as en memoria:

/* convierte una cadena en mayscula */


#include <stdio.h>
#include <ctype.h>
main()
{
char string[80];
int i;
printf("Introduce una frase en minscula :");
gets(string);
for(i=0; string[i]; i++)
printf("%c", toupper(string[i]));
}
/*permita ingresar una frase y luego la descompone ensus palabras imprimindolas en lneas
diferentes .
#include "stdio.h"
#include<iostream.h>
main()
{
char s[80];
int i;
printf("Escribe una frase :"); gets(s);
for(i=0; s[i]; i++)
if (s[i]==' ')
cout<<endl;
else
cout<<s[i];
}

FUNCIONES DE CADENA DE LA BIBLIOTECA


Estas funciones se hallan definidas en el archivo "string.h".

strcpy() :Copia el contenido de la cadena origen en la cadena destino.


Formato : strcpy(destino, origen);
Ejemplo:
#include "string.h"
main()
{
char a[80];
strcpy(a, "hola mundo");
printf("%s\n", a);
}
strcat() :Concatena dos cadenas.
Formato : strcat(cadena1, cadena2);
Concatena la cadena2 al final de la cadena1.
Ejemplo:
#include <string.h>
#include <stdio.h>
main()
{
char a1[80], a2[40];
strcpy(a1,"cartagena");
strcpy(a2," colombia");
strcat(a1, a2);
puts(a1);
}
strcmp() :Compara dos cadenas y devuelve cero si son iguales.
Formato : strcmp(cadena1, cadena2);
Si cadena1 es mayor que cadena2 devuelve un valor mayor que cero.
Si cadena1 es menor que cadena2 devuelve un valor negativo.
Ejemplo:
#include <string.h>
#include <stdio.h>
#include<stdlib.h>
main()
{ const char pass[]="algoritmica I";
char s[80];
puts("Password :"); gets(s);
if((strcmp(s, pass)) == 0)
puts("Ok...");
else {
puts("Password equivocado");
exit(0);
}
}
strlen() :Devuelve la longitud de una cadena.
Formato : strlen(cadena);
Ejemplo :
#include <string.h>
#include <stdio.h>
main()
{
char s[80];

strcpy(s, "Hello...");
printf("%d\n", strlen(s));
getche();
}
#include <stdio.h>
#include <string.h>
main()
{
char str1[80],str2[80];
int i;
printf ("Introduce una cadena de caracteres: ");
gets (str1);
printf ("Introduce la segunda cadena de caractes: ");
gets (str2);
/*longitud de las cadenas*/
printf ("\n%s es de %d caracteres de largo\n",str1,strlen(str1));
printf ("\n%s es de %d caracteres de largo\n",str2,strlen(str2));
/*comparar cadenas*/
i=strcmp(str1,str2);
if (!i)
printf ("\nLas cadenas son iguales\n");
else
if (i<0) printf ("\n%s es menor que %s",str1,str2);
else printf ("\n%s es mayor que %s",str1,str2);
/*concatenacin de srt1 con str2*/
if (strlen(str1)+strlen(str2)<80)
{
strcat (str1,str2);
printf ("\n%s",str1);
}
/*copia str2 a str1*/
strcpy (str1,str2);
printf ("\n%s y %s",str1,str2);
}

2. Funcin que realiza la misma operacin que la funcin


strlen.
Calcula la longitud de la cadena S. Regresa el nmero de caracteres en S
sin contar el caracter de fin de cadena.
#include stdio.h
#include ctype.h
int mystrlen(char *s);
void main(void)
{ int n;
char cad[50];
clrscr();

printf("Introduce la cadena: ");


gets(cad);
n=mystrlen(cad);
printf("\nEl numero de caracteres de la cadena s fue %d",n);
getch();
}
int mystrlen(char *s)
{int c=0;
while(1)
{if(*s=='\0')
{
break;
}
c++;
s++;
}
return c;
}
14.3 Conversin de cadenas
Existen unas cuantas funciones para convertir cadenas a enteros, enteros largos y
valores flotantes. Estas son:

double atof(const char *cadena) Convierte una cadena a un valor flotante.

int atoi(const char *cadena) Convierte una cadena a un valor entero.

int atol(const char *cadena) Convierte una cadena a un valor entero largo.

double strtod(const char *cadena, char **finap) Convierte una cadena a un valor
de punto flotante.

double strtol(const char *cadena, char *finap, int base) Convierte una cadena a
un entero largo de acuerdo a una base dada, la cual deber estar entre 2 y 36
inclusive.

unsigned long strtoul(const char *cadena, char *finap, int base) Convierte una
cadena a un entero largo sin signo.
Varias de las funciones se pueden usar en forma directa, por ejemplo:
char *cad1 = "100";
char *cad2 = "55.444";
char *cad3 = "
1234";
char *cad4 = "123cuatro";
char *cad5 = "invalido123";
char *cad6 = "123E23Hola";
char *cad7;
int i;
float f:
i = atoi(cad1); /* i = 100 */
f = atof(cad2); /* f = 55.44 */
i = atoi(cad3); /* i = 1234 */
i = atoi(cad4); /* i = 123 */

i = atoi(cad5); /* i = 0 */
f = strtod(cad6, &cad7); /* f=1.230000E+25 y cad7=hola*/
Nota:

Los caracteres en blanco son saltados.

Caracteres ilegales son ignorados.

Si la conversin no puede ser hecha se regresa cero y errno es puesta con el valor
ERANGE.

FUNCION

DESCRIPCION

stpcpy

Copia una cadena de caracteres en otra.Se detiene cuando encuentra el terminador


nulo.

strcat

Aade una cadena de caracteres a otra.

strchr

Busca, en una cadena, un caracter dado.

strcmp Compara dos cadenas.


strcmpi Macro que compara dos cadenas sin distinguir entre maysculas y minsculas.
strcpy

Copia una cadena.

strcspn

Busca segmentos que no contienen un subconjunto de un conjunto especificado de


caracteres.

strdup

Copia una cadena a una nueva localidad.

_strerror Genera un mensaje de error definido por el programador.


strerror Retorna el apuntador al mensaje asociado con el valor del error.
stricmp Compara dos cadenas sin diferenciar entre maysculas y minsculas
strlen

Determina la longitud de una cadena.

strlwr

Convierte las maysculas de una cadena en minsculas.

strncat Aade el contenido de una cadena al final de otra.


strncmp Compara parte de una cadena con parte de otra.
strncmpi

Compara parte de una cadena con parte de otra, sin distinguir entre maysculas y
minsculas.

strncpy Copia un un nmero de bytes dados, desde una cadena hacia otra.
strnicmp

Compara parte de una cadena con parte de otra, sin distinguir entre maysculas y
minsculas.

strnset Hace que un grupo de elementos de una cadena tengan un valor dado.
strpbrk

Busca la primera aparicin, en una cadena, de cualquier caracter de un conjunto


dado.

strrchr Busca la ltima aparicin de un caracter en una cadena.


strrev

Invierte el orden de los caracteres de una cadena.

strset

Hace que los elementos de una cadena tengan un valor dado.

strspn
strstr

Busca en una cadena el primer segmento que es un subconjunto de un conjunto de


caracteres dado.
Busca en una cadena la aparicin de una subcadena dada.

_strtime Convierte la hora actual a una cadena.


strtod

Convierte una cadena a un valor double long double.

strtol

Convierte una cadena a un valor long.

strtoul

Convierte una cadena a un valor unsigned long.

strupr

Convierte las minsculas de una cadena a maysculas.

También podría gustarte