Your SlideShare is downloading. ×
Taller 1 de estructuras
Taller 1 de estructuras
Taller 1 de estructuras
Taller 1 de estructuras
Taller 1 de estructuras
Taller 1 de estructuras
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Taller 1 de estructuras

301

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
301
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. strchr #include <string.h>char *strchr(const char *cad, int c);strchr() encuentra la primera aparición de c en cad y devuelve unpuntero a la primera aparición de c en cad. Si c no se encuentra, devuelveun cero (NULL).printf(“%s”, strchr(“Salario mensual = $85725”, ´$´));visualizará $85725char *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 alfinal 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 < bi = strcmp(“MNP”, “mnp”); // resultado< 0i = strcmp(“abc”, “abc”); // resultado = 0i = strcmp(“xy”, “abc”); // resultado> 0char 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 uncarácter nulo (0).char nombre*80+ = “Bob”;char blanco*2+ = “”;char ultimo*80+ = “Marley”;...strcat(nombre,blanco); // blanco se concatena a nombrestrcat(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 unentero:< 0 si cad1 < cad2= 0 si cad1 = cad2> 0 si cad1 > cad2v = 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 acad. 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 > cad2if(strcoll(nombre1, nombre2)! = 0)exit(EXIT_FAILURE);Funciones relacionadas: setlocate, strcmp, strcmpi, strncmp,strxfrmstrcpy() #include <string.h>char *strcpy(char *cad1, const char *cad2);strcpy() copia cad2 en cad1. Si la longitud de la cadena resultanteexcede 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 dadoen el argumento errnum. La función strerror() obtiene el mensaje deerror del sistema utilizando el valor en la variable global errno, como elíndice una tabla de errores denominadas sys_errlist, que está declaradoen 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 cualquiercarácter de otra cadena. Si tiene éxito, la función strcspn devuelve el índice del primer carácterde cad1, que pertenece al conjunto de caracteres decad2.primero = strcspn(“circunloquio”, “q”);// primero = 8Funciones relacionadas: strpbrk, strspn.strerror #include<string.h>#include stdio.hchar *strerror(const char *cad);Esta función sirve para generar un mensaje de error definido por elusuario.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 encuenta el tamaño de las letras. Convierte todos los caracteres alfabéticos decad1 y cad2 en minúsculas; a continuación, se comparan las dos cadenas ydevuelve 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; enconsecuencia, cuando reserve espacio, recuerde añadir1 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 unpuntero 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 ncaracteres de longitud, strncat() truncará la cadena a la longitud de n. Enotro 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 ydevuelve un entero con un valor.< 0 si cad1 < cad2= 0 si cad1 < cad2> 0 si cad1 < cad2char *a = “Mortimer el andaluz”;char *b = “Mortimer el mexicano”;if((strncmp(a, b, 8)) == 0)cout<< “Ambas cadenas comienzan con Mortimer”;elsecout<< “Estas cadenas no comienzan con Mortimer”;Funciones relacionadas: strcmp, strcoll, stricmp, strncmp, strnicmpstrnset #include <string.h>char *strnset(char *cad, int c, size_t n);Inicializa los caracteres de una cadena a un valor dado (blanco u otrocarácter). Devuelve un puntero a la cadena cad. El carácter c se utiliza pararellenar la cadena con ese carácter; n es el número de posiciones de caracteres que se han deinicializar.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 caracteresde cad2. El carácter nulo no se incluye en la búsqueda. Si el carácter noexiste, 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.MackoyFunciones 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ónde 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 nulopermanece en el mismo lugar. strrev() devuelve un puntero a la cadenainversa.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. Terminacuando se encuentra el primer carácter nulo. Devuelve un puntero a la cadena modificada.char *cad = “-----”;strset (cad, ´x´); // cad es ahora xxxxxFunciones 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 nopertenece 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, lafunciónstrstr devuelve un puntero a la primera aparición de cad2 comounasubcadena 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, strpbrkstrtok #include <string.h>char *strtok(char *cad1, constchar *cad2);Rompe una cadena en subcadenas (token) utilizando una lista de separadores. Devuelve unpuntero a la subcadena actual y un NULL cuando sealcanza 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 ydevuelve 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 estoscasos, 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 conun número máximo de caracteres a situar en cad1 de n. En el siguienteejemplo, strxfrm transforma los tres primeros caracteres de cad1 en lostres primeros caracteres de cad2.char *cad1 = “abcdefg”;char *cad2 = “1234567”;clrscr();strxfrm(cad1, cad2, 3);printf(“Transformada: %sn”, cad1);

×