Strings (II) - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Strings (II)

Description:

Los strings son arreglos de caracteres. Permiten hacer programas ... Acaso no habia un ASCII(0) en el origen? */ destino[i]=0; /* Vuelve sin valor de retorno ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 10
Provided by: FelipeC2
Category:
Tags: acaso | strings

less

Transcript and Presenter's Notes

Title: Strings (II)


1
Strings (II)
  • Clase 18
  • Introducción a la Programación

2
Resumen de la clase anterior
  • Los strings son arreglos de caracteres
  • Permiten hacer programas que procesen textos (ej.
    nombres, direcciones, noticias, etc.)
  • Uso
  • Declaración char str50
  • Declaración con asignación char str "Hola"
  • Lectura scanf("s", str)
  • Escritura printf("s", str)
  • El final de un string es marcado por un carácter
    NULO (\0).

3
Ejercicios
  • Hacer un programa que pregunte un string y luego
    lo pasa a mayúsculas.
  • Hacer un programa que pregunta un string y luego
    lo escriba al revés.

4
Funciones predefinidas para el manejo de strings
(biblioteca string.h)
  • int strlen(char str)Devuelve la longitud de un
    string
  • char strcpy(char str1, char str2)Copia un
    string en otro (str1 ? str2)
  • int strcmp(char str1, char str2)Compara dos
    strings lexicográficamente(str1ltstr2 ? lt0
    str1str2 ? 0 str1gtstr2 ? gt1)
  • char strchr(char cs, char c)Busca un caracter
    dentro de un string
  • char strstr(char cs, char ct)Busca un string
    dentro de otro string
  • NOTA Ya que los strings son tipos de datos
    complejos (no vienen incluidos en C por defecto),
    no se pueden asignar con el signo , si no que
    deben asignarse con strcpy

5
Implementando StrCpy
  • void StrCpy(char destino, char origen)
  • int i / Posicion dentro del string /
  • / Ciclo en que se hace la copia. Se detiene
    cuando encuentra ASCII(0) /
  • for (i0 origeni!0 i)
  • / Copia el caracter i-esimo del origen en
    el destino /
  • destinoi origeni
  • / Una vez terminada la copia debe delimitarse
    el destino con ASCII(0) /
  • / Por que? Acaso no habia un ASCII(0) en el
    origen? /
  • destinoi0
  • / Vuelve sin valor de retorno /
  • return

6
Implementando StrCmp
  • int StrCmp(char string1, char string2)
  • int i0
  • while (string1i string2i)
  • if (string1i 0)
  • return(0)
  • return(string1i-string2i)

7
Implementando StrLen
  • int StrLen(char str)
  • int largo0
  • while (strlargo ! 0)
  • largo
  • return(largo)

8
Implementando StrCat
  • void StrCat(char string1, char string2)
  • int pos1,pos2
  • pos10
  • while (string1pos1 ! 0)
  • pos1
  • pos20
  • while (string2pos2 ! 0)
  • string1pos1 string2pos2
  • string1pos1 0
  • return

9
Ejercicio
  • Extraer un substringint substring(char
    st_salida, char st_entrada, int pos, int n)
  • Función que hace preguntaschar pregunta(char
    texto, char opc1, char opc2)
  • Ejemplo pregunta(Quiere estudiar hoy?, si,
    no)
  • Imprime Quiere estudiar hoy? (si/no)
  • Y retorna s o n
Write a Comment
User Comments (0)
About PowerShow.com