SlideShare una empresa de Scribd logo
1 de 6
strchr #include <string.h>
char *strchr(const char *cad, int c);
strchr() encuentra la primera aparición de c en cad y devuelve un
puntero a la primera aparición de c en cad. Si c no se encuentra, devuelve
un cero (NULL).
printf(“%s”, strchr(“Salario mensual = $85725”, ´$´));
visualizará $85725
char *s*81+ = “Esta es una cadena de prueba”;
char *ptr;
ptr = strchr(s, ´a´);
el valor almacenado en ptr es un puntero a la primera aparición de ´a´.

stpcpy #include <string.h>
char *stpcpy(char *cad1, const char *cad2);
La función stpcpy() copia una cadena en otra. Devuelve un puntero al
final de la cadena copiada. Se devuelve el valor de cad1+strlen(cad2)
stpcpy(orden_dos, “DIR”);
stpcpy(caad1, cad2);
Funciones relacionadas: strcat, strcpy, strncat, strncpy, strdup.

strcmp #include <string.h>
intstrcmp(const char *a, const char *b);
Compara una cadena con otra. Los resultados serían:
> 0 si a > b
= 0 si a == b
< 0 si a < b
i = strcmp(“MNP”, “mnp”); // resultado< 0
i = strcmp(“abc”, “abc”); // resultado = 0
i = strcmp(“xy”, “abc”); // resultado> 0
char s1*80+ “ “Mayo”;
char s2*80+ = “Octubre”;
int j;
j = strcmp(s1, s2);
Funciones relacionadas: strcmpi, stricmp, strnicmp, strncmp.


strcat #include <string.h>
char *strcat(char *cad1, const char cad2);
strcat() concatena (añade) cad1 al final de cad2, terminando la cadena resultante con un
carácter nulo (0).
char nombre*80+ = “Bob”;
char blanco*2+ = “”;
char ultimo*80+ = “Marley”;
...
strcat(nombre,blanco); // blanco se concatena a nombre
strcat(nombre,ultimo); // ultimo se concatena a nombre
// la cadena nombre será “Bob Marley”
Funciones relacionadas: strcpy, strdup, strncat, strncpy.
strcmpi #include <string.h>
intstrcmpi(const char *cad1, const char * call2);
Compara una cadena con otra sin diferenciar entre mayúsculas y minúsculas y devuelve un
entero:
< 0 si cad1 < cad2
= 0 si cad1 = cad2
> 0 si cad1 > cad2
v = strcmpi(c1, c2);
Funciones relacionadas: strcmp, stricmp, strncmp, strnicmp.


strdup #include <string.h>
char * strdup(const char *cad);
Asigna memoria y copia una cadena dada en ese espacio. En realidad,
strdup() llama a malloc para asignar suficiente memoria para contener a
cad. Si falla la asignación de memoria, strdup() devuelve un carácter nulo
(NULL).
Leer una cadena y hacer un duplicado.
#include <stdio.h>
#include <string.h>
main()
{
char cad1[80], * cad1_copia;
printf(“Introduzca una cadena:”);
gets(cad1);
cad1_copia = strdup(cad1);
printf(“La cadena duplicada es:%sn”, cad1_copia);
return 0;
}

strcoll #include <string.h>
intstrcoll(const char *cad1, const char cad2);
Compara cad1 con cad2. Devuelve un valor.
< 0 si cad1 < cad2
= 0 si cad1 = cad2
> 0 si cad1 > cad2
if(strcoll(nombre1, nombre2)! = 0)
exit(EXIT_FAILURE);
Funciones relacionadas: setlocate, strcmp, strcmpi, strncmp,
strxfrm


strcpy() #include <string.h>
char *strcpy(char *cad1, const char *cad2);
strcpy() copia cad2 en cad1. Si la longitud de la cadena resultante
excede el tamaño asignado a cad1, puede producir fallos en el programa.
char *a = “Pepe Luis”;
char b[12];
strcpy(b, a);
cout<< b << ´n´;
Funciones relacionadas: strcat, strcup, strncat, strncpy.
strerror #include <string.h>
char *strerror(interrnum);
Obtiene el mensaje de error del sistema correspondiente al número dado
en el argumento errnum. La función strerror() obtiene el mensaje de
error del sistema utilizando el valor en la variable global errno, como el
índice una tabla de errores denominadas sys_errlist, que está declarado
en el archivo de cabecera stdlib.h.
errno = 0;
printf (“Error”, strerror(errno);
Funciones relacionadas: perror, _strerror.

strcspn #include<string.h>
size_strcspn(const char *cad1, const char *cad2);
Localiza la posición de la primera aparición en una cadena de cualquier
carácter de otra cadena. Si tiene éxito, la función strcspn devuelve el índice del primer carácter
de cad1, que pertenece al conjunto de caracteres de
cad2.
primero = strcspn(“circunloquio”, “q”);
// primero = 8
Funciones relacionadas: strpbrk, strspn.

strerror #include<string.h>
#include stdio.h
char *strerror(const char *cad);
Esta función sirve para generar un mensaje de error definido por el
usuario.
printf(“%S”, _strerror(“error apertura archivo”));
Funciones relacionadas: perror, strerror.

stricmp #include <string.h>
itstricmp(const char *cad1, const char *cad2);
Esta función se utiliza para comparar una cadena a otra sin tener en
cuenta el tamaño de las letras. Convierte todos los caracteres alfabéticos de
cad1 y cad2 en minúsculas; a continuación, se comparan las dos cadenas y
devuelve un valor entero que indica el orden lexicográfico de cad1 con respecto a cad2.
Si cad1 = cad2 el valor de la función es cero.
Si cad1 < cad2 el valor de la función es menor que cero.
Si cad1 > cad2 el valor de la función es mayor que cero.
Resultado = stricmp(cad1, cad2),
Funciones relacionadas: strcmp, strcmpi, strncmp, strnicmp.

strlen #include <strign.h>
size_tstrlen(const char *cad);
Proporciona la longitud de una cadena cad. El carácter nulo no se incluye en la longitud; en
consecuencia, cuando reserve espacio, recuerde añadir
1 al valor devuelto por strlen.
longitud = strlen(nombre);
char s*81+ = “Cadena demo”;
printf(“La longitud de s es:%dn” strlen(s));
Funciones relacionadas: _fstrlen.
strlwr #include <string.h>
char *strlwr(char *cad);
Convierte una cadena en letras minúsculas. La función devuelve un
puntero a la cadena convertida.
char *orden =”SALIR”;
strlwr(orden); // ahora orden = “salir”;
Funciones relacionadas: strupr, toloweer.


strncat #include <string.h>
char *strncat(char *cad1, const char *cad2, size_t n);
La función strncat() añade los primeros n caracteres de cad2 a cad1,
y termina la cadena resultante un carácter nulo. Si cad2 es mayor que n
caracteres de longitud, strncat() truncará la cadena a la longitud de n. En
otro caso, concatenará la cadena completa.
char *a = “Sierra Madre”;
char *b = “de la ciudad de Monterrey”;
cout<<strncat(a, b, 4) << ´n´;
cout<<strncat(a, b) << ´n´;
Funciones relacionadas: strcat, strdup, strcpy, strncpy.


strncmp #include <string.h>
intstrncmp(const char *cad1, const char *cad2, size_t n);
Compara un número especificado en caracteres de dos cadenas y
devuelve un entero con un valor.
< 0 si cad1 < cad2
= 0 si cad1 < cad2
> 0 si cad1 < cad2
char *a = “Mortimer el andaluz”;
char *b = “Mortimer el mexicano”;
if((strncmp(a, b, 8)) == 0)
cout<< “Ambas cadenas comienzan con Mortimer”;
else
cout<< “Estas cadenas no comienzan con Mortimer”;
Funciones relacionadas: strcmp, strcoll, stricmp, strncmp, strnicmp


strnset #include <string.h>
char *strnset(char *cad, int c, size_t n);
Inicializa los caracteres de una cadena a un valor dado (blanco u otro
carácter). Devuelve un puntero a la cadena cad. El carácter c se utiliza para
rellenar la cadena con ese carácter; n es el número de posiciones de caracteres que se han de
inicializar.
printf(“Introduzca una cadena:”);
gets(cadena);
printf(“Introducir un carácter:”);
c = getche();
long = strlen(cadena)/2;
strnset(cadena, c, lon);
Funciones relacionadas: memset, setmem, strset.
strpbrk #include <string.h>
char *strpbrk(const char *cad1, const char *cad2);
Encuentra la primera aparición en cad1 de cualquiera de los caracteres
de cad2. El carácter nulo no se incluye en la búsqueda. Si el carácter no
existe, se devuelve un carácter nulo (NULL).
char *s = “Mortimer L.J. Mackoy”;
char *p = strpbrk(s, “L4”);
cout<< p << ´n´; // la salida es L.J.Mackoy
Funciones relacionadas: strchr, strcspn.

strrchr #include<string.h>
char *strrchr(const char *cad, int c);
Encuentra la última aparición del carácter c en cad. Devuelve un punteo a la última aparición
de c o un carácter nulo si c no está en cad.
char *nombrearch = “c: /usr/tst/libro/cap1.txt”;
cout<< (strrchr(nombrearch, ´/´)+1 << ´n´;
Funcionesrelacionadas: strchr.

strrev #include <string.h>
char *strrev(char *cad);
Invierte los caracteres de la cadena cad. El carácter de terminación nulo
permanece en el mismo lugar. strrev() devuelve un puntero a la cadena
inversa.
Aplicación: Invertir una cadena leída del teclado e imprimir el resultado.
#include <stdio.h>
#include <string.h>
main()
{
char demo[80]
printf(“Introduzca una cadena:”);
gets(demo);
strrev(demo);
printf(“La cadena inversa es:n %s |n”, demo);
return 0;
}
Funciones relacionadas: strcpy, strncpy.


strset #include <string.h>
char *strset(char *cad, int c);
Establece todos los caracteres de la cadena cad al valor de c. Termina
cuando se encuentra el primer carácter nulo. Devuelve un puntero a la cadena modificada.
char *cad = “-----”;
strset (cad, ´x´); // cad es ahora xxxxx
Funciones relacionadas: strnset.

strspn #include<string.h>
sze_tstrspn(constchar *cad1, constchar *cad2);
Localiza la posición del primer carácter de una cadena (cad1) que no
pertenece al conjunto de caracteres de otra (cad2).
loc = strspn (cad1, blanco);
Funcionesrelacionadas: strcmp, strcspn.

strstr #include <string.h>
char *strstr(const char *cad1, const char *cad2);
Localiza la primera aparición de una cadena en otra. Si tiene éxito, la
funciónstrstr devuelve un puntero a la primera aparición de cad2 como
unasubcadena de cad1. Si la búsqueda falla, se devuelve NULL.
char *s = “Mi autor favorito es Octavio Paz”
char *a = “Octavio Paz”;
cout<< “La subcadena” << a << “se encuentra:”
<<strstr(s, a) << ´n´;
Funcionesrelacionadas: strchr, strcspn, strpbrk

strtok #include <string.h>
char *strtok(char *cad1, constchar *cad2);
Rompe una cadena en subcadenas (token) utilizando una lista de separadores. Devuelve un
puntero a la subcadena actual y un NULL cuando se
alcanza el final de la cadena.
char *s = “¿Prefiere a Verdi, o a Pucini?”;
char *t = “.,!* ”;
cout<<strtok(s, t) << ´n´;
cout<<strtok(NULL, “!”);
Funcionesrelacionadas: strpbrk, strcspn.

strupr #include <string.h>
char *strupr(char *cad);
Convierte cualquier letra minúscula de la cadena en mayúscula y
devuelve un puntero a la cadena convertida (sólo alfabeto inglés).
La función strupr y su homónima strlwr no forman parte de la biblioteca ANSI C. En estos
casos, utilice las funciones toupper y tolower.
strupr(“sierra madre”); // “SIERRA MADRE”
Funcionesrelacionadas: strlwr, toupper.


strxfrm #include <string.h>
size_tstrxfrm(char *cad1, char *cad2, size_t n);
Convierte cad2 en cad1 basado en información específica local y con
un número máximo de caracteres a situar en cad1 de n. En el siguiente
ejemplo, strxfrm transforma los tres primeros caracteres de cad1 en los
tres primeros caracteres de cad2.
char *cad1 = “abcdefg”;
char *cad2 = “1234567”;
clrscr();
strxfrm(cad1, cad2, 3);
printf(“Transformada: %sn”, cad1);

Más contenido relacionado

La actualidad más candente

Codigos base ejemplos
Codigos base ejemplosCodigos base ejemplos
Codigos base ejemplos
Maru Reyes
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
Marco Garay
 
Capítulo 4 funciones matemáticas
Capítulo 4  funciones matemáticasCapítulo 4  funciones matemáticas
Capítulo 4 funciones matemáticas
Julio Ayala Rolón
 
Canal de comunicación y caos
Canal de comunicación y caosCanal de comunicación y caos
Canal de comunicación y caos
darg0001
 
30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas
José M. Padilla
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
Ronal Palomino
 
Sobrecarga de operadores
Sobrecarga de operadoresSobrecarga de operadores
Sobrecarga de operadores
r0na91
 
Integración de funciones trigonométricas
Integración de funciones trigonométricasIntegración de funciones trigonométricas
Integración de funciones trigonométricas
angiegutierrez11
 
19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles
UVM
 
Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1
Saya Paredes
 

La actualidad más candente (19)

Codigos base ejemplos
Codigos base ejemplosCodigos base ejemplos
Codigos base ejemplos
 
SlE ADSI
SlE ADSISlE ADSI
SlE ADSI
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
Capítulo 4 funciones matemáticas
Capítulo 4  funciones matemáticasCapítulo 4  funciones matemáticas
Capítulo 4 funciones matemáticas
 
Canal de comunicación y caos
Canal de comunicación y caosCanal de comunicación y caos
Canal de comunicación y caos
 
30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas30 Php. Cadenas Alfanumericas
30 Php. Cadenas Alfanumericas
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Strrev
StrrevStrrev
Strrev
 
Practicas de programacion 11 20
Practicas de programacion 11 20Practicas de programacion 11 20
Practicas de programacion 11 20
 
2 teoria de_probabilidades
2 teoria de_probabilidades2 teoria de_probabilidades
2 teoria de_probabilidades
 
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
 
estructura lineal lenguaje C
estructura lineal lenguaje Cestructura lineal lenguaje C
estructura lineal lenguaje C
 
Strlen
StrlenStrlen
Strlen
 
Sobrecarga de operadores
Sobrecarga de operadoresSobrecarga de operadores
Sobrecarga de operadores
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Pruebas de escritorio con objetos
Pruebas de escritorio con objetosPruebas de escritorio con objetos
Pruebas de escritorio con objetos
 
Integración de funciones trigonométricas
Integración de funciones trigonométricasIntegración de funciones trigonométricas
Integración de funciones trigonométricas
 
19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles
 
Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1
 

Similar a Taller 1 de estructuras

Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
louis
 
Manejo de cadenas de caracteres java
Manejo de cadenas de caracteres javaManejo de cadenas de caracteres java
Manejo de cadenas de caracteres java
Emerson Garay
 

Similar a Taller 1 de estructuras (20)

Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++
 
Comandos importantes en c++
Comandos importantes en c++Comandos importantes en c++
Comandos importantes en c++
 
Cadenas y punteros.ppt
Cadenas y punteros.pptCadenas y punteros.ppt
Cadenas y punteros.ppt
 
Apunte cadenas
Apunte cadenasApunte cadenas
Apunte cadenas
 
Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
 
PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1
 
Manejo de cadenas de caracteres java
Manejo de cadenas de caracteres javaManejo de cadenas de caracteres java
Manejo de cadenas de caracteres java
 
Programación 1: cadenas en C
Programación 1: cadenas en CProgramación 1: cadenas en C
Programación 1: cadenas en C
 
Funciones cadena
Funciones cadenaFunciones cadena
Funciones cadena
 
Funciones Clase1
Funciones Clase1Funciones Clase1
Funciones Clase1
 
Ejercicios programacion cortos
Ejercicios programacion cortosEjercicios programacion cortos
Ejercicios programacion cortos
 
Inicialización del modo gráfico de C
Inicialización del modo gráfico de CInicialización del modo gráfico de C
Inicialización del modo gráfico de C
 
Ejemplos java
Ejemplos javaEjemplos java
Ejemplos java
 
Cadenas
CadenasCadenas
Cadenas
 
Strncmp
StrncmpStrncmp
Strncmp
 
Jyoc java-cap06 la clase string
Jyoc java-cap06 la clase stringJyoc java-cap06 la clase string
Jyoc java-cap06 la clase string
 
Solucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectoresSolucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectores
 
Strncat
StrncatStrncat
Strncat
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Taller 1 de estructuras

  • 1. strchr #include <string.h> char *strchr(const char *cad, int c); strchr() encuentra la primera aparición de c en cad y devuelve un puntero a la primera aparición de c en cad. Si c no se encuentra, devuelve un cero (NULL). printf(“%s”, strchr(“Salario mensual = $85725”, ´$´)); visualizará $85725 char *s*81+ = “Esta es una cadena de prueba”; char *ptr; ptr = strchr(s, ´a´); el valor almacenado en ptr es un puntero a la primera aparición de ´a´. stpcpy #include <string.h> char *stpcpy(char *cad1, const char *cad2); La función stpcpy() copia una cadena en otra. Devuelve un puntero al final de la cadena copiada. Se devuelve el valor de cad1+strlen(cad2) stpcpy(orden_dos, “DIR”); stpcpy(caad1, cad2); Funciones relacionadas: strcat, strcpy, strncat, strncpy, strdup. strcmp #include <string.h> intstrcmp(const char *a, const char *b); Compara una cadena con otra. Los resultados serían: > 0 si a > b = 0 si a == b < 0 si a < b i = strcmp(“MNP”, “mnp”); // resultado< 0 i = strcmp(“abc”, “abc”); // resultado = 0 i = strcmp(“xy”, “abc”); // resultado> 0 char s1*80+ “ “Mayo”; char s2*80+ = “Octubre”; int j; j = strcmp(s1, s2); Funciones relacionadas: strcmpi, stricmp, strnicmp, strncmp. strcat #include <string.h> char *strcat(char *cad1, const char cad2); strcat() concatena (añade) cad1 al final de cad2, terminando la cadena resultante con un carácter nulo (0). char nombre*80+ = “Bob”; char blanco*2+ = “”; char ultimo*80+ = “Marley”; ... strcat(nombre,blanco); // blanco se concatena a nombre strcat(nombre,ultimo); // ultimo se concatena a nombre // la cadena nombre será “Bob Marley” Funciones relacionadas: strcpy, strdup, strncat, strncpy.
  • 2. strcmpi #include <string.h> intstrcmpi(const char *cad1, const char * call2); Compara una cadena con otra sin diferenciar entre mayúsculas y minúsculas y devuelve un entero: < 0 si cad1 < cad2 = 0 si cad1 = cad2 > 0 si cad1 > cad2 v = strcmpi(c1, c2); Funciones relacionadas: strcmp, stricmp, strncmp, strnicmp. strdup #include <string.h> char * strdup(const char *cad); Asigna memoria y copia una cadena dada en ese espacio. En realidad, strdup() llama a malloc para asignar suficiente memoria para contener a cad. Si falla la asignación de memoria, strdup() devuelve un carácter nulo (NULL). Leer una cadena y hacer un duplicado. #include <stdio.h> #include <string.h> main() { char cad1[80], * cad1_copia; printf(“Introduzca una cadena:”); gets(cad1); cad1_copia = strdup(cad1); printf(“La cadena duplicada es:%sn”, cad1_copia); return 0; } strcoll #include <string.h> intstrcoll(const char *cad1, const char cad2); Compara cad1 con cad2. Devuelve un valor. < 0 si cad1 < cad2 = 0 si cad1 = cad2 > 0 si cad1 > cad2 if(strcoll(nombre1, nombre2)! = 0) exit(EXIT_FAILURE); Funciones relacionadas: setlocate, strcmp, strcmpi, strncmp, strxfrm strcpy() #include <string.h> char *strcpy(char *cad1, const char *cad2); strcpy() copia cad2 en cad1. Si la longitud de la cadena resultante excede el tamaño asignado a cad1, puede producir fallos en el programa. char *a = “Pepe Luis”; char b[12]; strcpy(b, a); cout<< b << ´n´; Funciones relacionadas: strcat, strcup, strncat, strncpy.
  • 3. strerror #include <string.h> char *strerror(interrnum); Obtiene el mensaje de error del sistema correspondiente al número dado en el argumento errnum. La función strerror() obtiene el mensaje de error del sistema utilizando el valor en la variable global errno, como el índice una tabla de errores denominadas sys_errlist, que está declarado en el archivo de cabecera stdlib.h. errno = 0; printf (“Error”, strerror(errno); Funciones relacionadas: perror, _strerror. strcspn #include<string.h> size_strcspn(const char *cad1, const char *cad2); Localiza la posición de la primera aparición en una cadena de cualquier carácter de otra cadena. Si tiene éxito, la función strcspn devuelve el índice del primer carácter de cad1, que pertenece al conjunto de caracteres de cad2. primero = strcspn(“circunloquio”, “q”); // primero = 8 Funciones relacionadas: strpbrk, strspn. strerror #include<string.h> #include stdio.h char *strerror(const char *cad); Esta función sirve para generar un mensaje de error definido por el usuario. printf(“%S”, _strerror(“error apertura archivo”)); Funciones relacionadas: perror, strerror. stricmp #include <string.h> itstricmp(const char *cad1, const char *cad2); Esta función se utiliza para comparar una cadena a otra sin tener en cuenta el tamaño de las letras. Convierte todos los caracteres alfabéticos de cad1 y cad2 en minúsculas; a continuación, se comparan las dos cadenas y devuelve un valor entero que indica el orden lexicográfico de cad1 con respecto a cad2. Si cad1 = cad2 el valor de la función es cero. Si cad1 < cad2 el valor de la función es menor que cero. Si cad1 > cad2 el valor de la función es mayor que cero. Resultado = stricmp(cad1, cad2), Funciones relacionadas: strcmp, strcmpi, strncmp, strnicmp. strlen #include <strign.h> size_tstrlen(const char *cad); Proporciona la longitud de una cadena cad. El carácter nulo no se incluye en la longitud; en consecuencia, cuando reserve espacio, recuerde añadir 1 al valor devuelto por strlen. longitud = strlen(nombre); char s*81+ = “Cadena demo”; printf(“La longitud de s es:%dn” strlen(s)); Funciones relacionadas: _fstrlen.
  • 4. strlwr #include <string.h> char *strlwr(char *cad); Convierte una cadena en letras minúsculas. La función devuelve un puntero a la cadena convertida. char *orden =”SALIR”; strlwr(orden); // ahora orden = “salir”; Funciones relacionadas: strupr, toloweer. strncat #include <string.h> char *strncat(char *cad1, const char *cad2, size_t n); La función strncat() añade los primeros n caracteres de cad2 a cad1, y termina la cadena resultante un carácter nulo. Si cad2 es mayor que n caracteres de longitud, strncat() truncará la cadena a la longitud de n. En otro caso, concatenará la cadena completa. char *a = “Sierra Madre”; char *b = “de la ciudad de Monterrey”; cout<<strncat(a, b, 4) << ´n´; cout<<strncat(a, b) << ´n´; Funciones relacionadas: strcat, strdup, strcpy, strncpy. strncmp #include <string.h> intstrncmp(const char *cad1, const char *cad2, size_t n); Compara un número especificado en caracteres de dos cadenas y devuelve un entero con un valor. < 0 si cad1 < cad2 = 0 si cad1 < cad2 > 0 si cad1 < cad2 char *a = “Mortimer el andaluz”; char *b = “Mortimer el mexicano”; if((strncmp(a, b, 8)) == 0) cout<< “Ambas cadenas comienzan con Mortimer”; else cout<< “Estas cadenas no comienzan con Mortimer”; Funciones relacionadas: strcmp, strcoll, stricmp, strncmp, strnicmp strnset #include <string.h> char *strnset(char *cad, int c, size_t n); Inicializa los caracteres de una cadena a un valor dado (blanco u otro carácter). Devuelve un puntero a la cadena cad. El carácter c se utiliza para rellenar la cadena con ese carácter; n es el número de posiciones de caracteres que se han de inicializar. printf(“Introduzca una cadena:”); gets(cadena); printf(“Introducir un carácter:”); c = getche(); long = strlen(cadena)/2; strnset(cadena, c, lon); Funciones relacionadas: memset, setmem, strset.
  • 5. strpbrk #include <string.h> char *strpbrk(const char *cad1, const char *cad2); Encuentra la primera aparición en cad1 de cualquiera de los caracteres de cad2. El carácter nulo no se incluye en la búsqueda. Si el carácter no existe, se devuelve un carácter nulo (NULL). char *s = “Mortimer L.J. Mackoy”; char *p = strpbrk(s, “L4”); cout<< p << ´n´; // la salida es L.J.Mackoy Funciones relacionadas: strchr, strcspn. strrchr #include<string.h> char *strrchr(const char *cad, int c); Encuentra la última aparición del carácter c en cad. Devuelve un punteo a la última aparición de c o un carácter nulo si c no está en cad. char *nombrearch = “c: /usr/tst/libro/cap1.txt”; cout<< (strrchr(nombrearch, ´/´)+1 << ´n´; Funcionesrelacionadas: strchr. strrev #include <string.h> char *strrev(char *cad); Invierte los caracteres de la cadena cad. El carácter de terminación nulo permanece en el mismo lugar. strrev() devuelve un puntero a la cadena inversa. Aplicación: Invertir una cadena leída del teclado e imprimir el resultado. #include <stdio.h> #include <string.h> main() { char demo[80] printf(“Introduzca una cadena:”); gets(demo); strrev(demo); printf(“La cadena inversa es:n %s |n”, demo); return 0; } Funciones relacionadas: strcpy, strncpy. strset #include <string.h> char *strset(char *cad, int c); Establece todos los caracteres de la cadena cad al valor de c. Termina cuando se encuentra el primer carácter nulo. Devuelve un puntero a la cadena modificada. char *cad = “-----”; strset (cad, ´x´); // cad es ahora xxxxx Funciones relacionadas: strnset. strspn #include<string.h> sze_tstrspn(constchar *cad1, constchar *cad2); Localiza la posición del primer carácter de una cadena (cad1) que no pertenece al conjunto de caracteres de otra (cad2). loc = strspn (cad1, blanco);
  • 6. Funcionesrelacionadas: strcmp, strcspn. strstr #include <string.h> char *strstr(const char *cad1, const char *cad2); Localiza la primera aparición de una cadena en otra. Si tiene éxito, la funciónstrstr devuelve un puntero a la primera aparición de cad2 como unasubcadena de cad1. Si la búsqueda falla, se devuelve NULL. char *s = “Mi autor favorito es Octavio Paz” char *a = “Octavio Paz”; cout<< “La subcadena” << a << “se encuentra:” <<strstr(s, a) << ´n´; Funcionesrelacionadas: strchr, strcspn, strpbrk strtok #include <string.h> char *strtok(char *cad1, constchar *cad2); Rompe una cadena en subcadenas (token) utilizando una lista de separadores. Devuelve un puntero a la subcadena actual y un NULL cuando se alcanza el final de la cadena. char *s = “¿Prefiere a Verdi, o a Pucini?”; char *t = “.,!* ”; cout<<strtok(s, t) << ´n´; cout<<strtok(NULL, “!”); Funcionesrelacionadas: strpbrk, strcspn. strupr #include <string.h> char *strupr(char *cad); Convierte cualquier letra minúscula de la cadena en mayúscula y devuelve un puntero a la cadena convertida (sólo alfabeto inglés). La función strupr y su homónima strlwr no forman parte de la biblioteca ANSI C. En estos casos, utilice las funciones toupper y tolower. strupr(“sierra madre”); // “SIERRA MADRE” Funcionesrelacionadas: strlwr, toupper. strxfrm #include <string.h> size_tstrxfrm(char *cad1, char *cad2, size_t n); Convierte cad2 en cad1 basado en información específica local y con un número máximo de caracteres a situar en cad1 de n. En el siguiente ejemplo, strxfrm transforma los tres primeros caracteres de cad1 en los tres primeros caracteres de cad2. char *cad1 = “abcdefg”; char *cad2 = “1234567”; clrscr(); strxfrm(cad1, cad2, 3); printf(“Transformada: %sn”, cad1);