Archivos I - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Archivos I

Description:

Aprendimos como manejar arreglos de caracteres (strings) ... Crear una carpeta. Borrar un archivo o una carpeta. 6. Tipos de archivos ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 17
Provided by: FelipeC2
Category:
Tags: archivos | carpeta

less

Transcript and Presenter's Notes

Title: Archivos I


1
Archivos (I)
  • Clase 20
  • Introducción a la Programación
  • Marcos Sepúlveda(marcos_at_ing.puc.cl)

2
Resumen del último capítulo
  • Aprendimos como manejar arreglos de caracteres
    (strings)
  • El final del string está marcado por un caracter
    especial ( \0)
  • Operaciones predefinidas en string.h
  • strlen, strcpy, strcmp, strchr, strstr

3
Almacenamiento secundario
  • Los computadores manipulan datos almacenados en
    su memoria principal (almacenamiento primario)
  • Sin embargo, esta memoria es limitada y volátil,
    por lo que se hace necesario emplear otro tipo de
    almacenamiento que sea perdurable y cuya
    disponibilidad (en cuanto a espacio y costo) sea
    más conveniente.

4
Dispositivos de almacenamiento secundario más
conocidos
  • Discos magnéticos (discos duros)
  • Diskettes (discos flexibles)
  • Discos ópticos (CD-ROMs)
  • Cintas magnéticas (usadas para respaldos)
  • Pen drive

5
Sistema de archivos
  • Es una abstracción del sistema operativo, que
    permite operar con distintos dispositivos de
    almacenamiento secundario de una forma estándar.
  • El sistema de archivos tiene una organización
    jerárquica
  • Operaciones típicas con archivos
  • Leer
  • Escribir
  • Cambiar el nombre
  • Crear una carpeta
  • Borrar un archivo o una carpeta

6
Tipos de archivos
  • Los archivos pueden ser de distintos tipos,
    dependiendo del tipo de datos que almacenen.
    Podríamos citar
  • Archivos de texto, cuyos datos están en formato
    ASCII
  • Programas ejecutables en formato binario
  • Imágenes (bitmaps, jpeg, gif)
  • Sonido (wav)
  • Video (avi)
  • Sin embargo, en este curso nos limitaremos a
    trabajar con archivos que guardan datos en
    formato de texto (ASCII)
  • Las siguientes funciones pertenecen a la librería
    stdio.h

7
Apertura de un archivo fopen
  • Sintaxis
  • FILE descriptor
  • descriptor fopen("nombre-fisico",
    "modo-apertura")
  • Notas
  • FILE es un nuevo tipo de datos
  • descriptor contiene un numero que representa al
    archivo
  • descriptor vale NULL si el archivo no se puede
    abrir
  • Modos de apertura
  • r abre archivo de texto para lectura
  • w crea archivo de texto para escritura (se
    pierde contenido anterior)
  • a abre archivo de texto para escribir al final
  • r abre archivo de texto para actualización
    (lectura y escritura)
  • b binario (se agrega para archivos que no son
    texto, p.ej. "rb")

8
Lectura de un archivo fscanf
  • ok fscanf(descriptor, "cadena-de-control",
  • lista-de-argumentos)
  • Retorna
  • Un valor entero que habitualmente será cero.
  • Sin embargo, cuando el archivo del que se están
    leyendo los datos se termine, la función
    retornará la constante EOF.

9
Escritura a un archivo fprintf
  • n fprintf(descriptor, "cadena-de-control",
  • lista-de-argumentos)
  • Retorna
  • Número de caracteres impresos (enviados al
    archivo), o
  • Un número negativo en caso que se haya producido
    un error.

10
Cerrar un archivo fclose
  • El archivo se debe cerrar con
  • fclose(descriptor)
  • Esto asegura que
  • Todo se escriba realmente en el disco
  • Se libera memoria

11
Ejemplo suma los valores que están en el archivo
datos.txt
  • include ltstdio.hgt
  • main()
  • FILE fp
  • int num, suma
  • fp fopen("datos.txt", "r")
  • suma 0
  • while ( fscanf(fp, "d", num) ! EOF )
  • suma suma num
  • printf("La suma es d\n", suma)
  • fclose(fp)

12
Lectura de argumentos desdela línea de comandos
  • Tanto en Windows como en Unix (Linux), un
    programa puede ser invocado desde la línea de
    comandos.
  • Un programa en C puede reconocer con que
    argumentos (similares a parámetros de las
    funciones) está siendo invocado.

Ej Uso de comando ls con parámetros
13
Cómo leer esos argumentos desde un programa en C?
   main(int argc, char argv)       int
i       printf(Programa en ejecucion s\n",
argv0)       printf(Con los siguientes
argumentos\n")       for (i1 iltargc
i)          printf("\td s\n", i,
argvi)   
  • El número de argumentos se almacena en argc
  • Cada argumento se almacena en el string argvi
  • argv0 es el nombre del programa

14
Cómo leer esos argumentos desde un programa en C?
  • Los nombres argc y argv son simples
    identificadores, por lo que se pueden cambiar.
  • Sin embargo, es común usar estos nombres y no
    otros.
  • argc (abreviatura para argument counter, o
    contador de argumentos).
  • argv (abreviatura para argument vector, o vector
    de argumentos)
  • Es un arreglo de strings, cuyas posiciones están
    ocupadas desde la cero hasta argc-1.

15
Lectura y escritura de caracteresgetc y putc
  • Lectura de un carácter
  • c getc(arch)
  • c es el carácter leído
  • c es EOF si llegó al final del archivo
  • c es lt0 si no pudo leer
  • Escritura de un carácter
  • ok putc(c, arch)
  • ok retorna lt0 si no pudo escribir

16
Ejemplo como copiar de un archivo a otro?
Versión A
  • c getc(Origen)
  • while (c!EOF)
  • putc(c, Destino)
  • c getc(Origen)

Versión B
while ((c getc(Origen))!EOF) putc(c,
Destino)
Write a Comment
User Comments (0)
About PowerShow.com