Anda di halaman 1dari 20

Archivos

Funciones para archivos en C

Programacion estructurada
Almacenamiento y recuperaci
on de informacion

Oscar Alvarado Nava


oscar.alvarado.nava@gmail.com
Departamento de Electr
onica
Divisi
on de Ciencias B
asicas e Ingeniera
Universidad Aut
onoma Metropolitana, Unidad Azcapotzalco

13O, noviembre de 2013

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

1/20

Archivos

Funciones para archivos en C

Contenido

Archivos
Sistema de archivos

Funciones para archivos en C


Manejo de archivos en C
Flujos de texto
Flujos binarios

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

2/20

Archivos

Funciones para archivos en C

Sistema de archivos

Archivos

Los archivos son mecanismos de abstracci


on
Permiten el almacenamiento y recuperaci
on de informacion

Abstrae a los usuarios de los detalles del c


omo y donde se
almacena la informaci
on y de como funcionan los dispositivos
de almacenamiento

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

3/20

Archivos

Funciones para archivos en C

Sistema de archivos

Disco duro magnetico

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

4/20

Archivos

Funciones para archivos en C

Sistema de archivos

CDROM, DVD, BluRay

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

5/20

Archivos

Funciones para archivos en C

Sistema de archivos

Memory stics

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

6/20

Archivos

Funciones para archivos en C

Sistema de archivos

Representacion de la informacion

La informaci
on es representada por un conjunto de bytes
Caracteres (texto), pixeles (imagenes), muestras (audio),
frames (video), etc.

Un archivo es el conjunto de bytes que representan la


informacion, almacenados en
Memoria principal
Dispositivo de almacenamiento masivo: disco duro (magnetico,
estado solido), CDROMs, DVDs, etc.

Para su almacenamiento y recuperaci


on es necesario un
metodo de identificaci
on
Para su gestion es necesario agregarle atributos

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

7/20

Archivos

Funciones para archivos en C

Sistema de archivos

Archivos asociados a aplicaciones

Oscar Alvarado Nava

Extensi
on

Significado

archivo.c
archivo.o
archivo.tex
archivo.pdf
archivo.gif
archivo.jpg
archivo.mpg
archivo.mp3
archivo.zip

Programa fuente de C
Archivo objeto, c
odigo compilado sin enlazar
Texto marcado para procesar con TEX
Archivo Portable Document File
Imagen Graphical Interchange Format
Imagen en Joint Photographic Experts Group
Video en Moving Picture Experts Group
M
usica en MPEG audio Layer 3
Archivo comprimido

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

8/20

Archivos

Funciones para archivos en C

Sistema de archivos

Tipos de archivos en UNIX/Linux

Regulares: almacenamiento de la informaci


on de usuario y
sistema
Directorios: archivos para crear una estructura llamada
sistema de archivos
Caracter: modela dispositivos de E-S cuyo acceso es por
caracteres (terminales, puerto serial, etc)
Bloque: modela dispositivos de E-S cuyo acceso es por
bloques de bytes (discos duros, CDROM, etc)
Especiales:ligas, pipes, sockets

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

9/20

Archivos

Funciones para archivos en C

Sistema de archivos

Estructura de archivo
Magic number

Module
name
Header

Text size

Header

Data size

Date

BSS size
Symbol table size

Object
module

Owner
Protection

Entry point

Size
Flags

Header

a) Ejecutable

Text

b) Biblioteca

Object
module
Data

Header

Relocation
bits

Symbol
table

Object
module

(a)

Oscar Alvarado Nava

(b)

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

10/20

Archivos

Funciones para archivos en C

Sistema de archivos

Algunos atributos

Atributo

Significado

Creador
Propietario
Grupo
Banderas de permisos
Tama
no
Tiempos

Identificaci
on del usuario que cre
o el archivo
Identificador del propietario
Identificador del grupo del propietario
Lectura, escritura, ejecuci
on
Tama
no total del archivo en bytes
Creaci
on, u
ltimo acceso, u
ltima modificaci
on

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

11/20

Archivos

Funciones para archivos en C

Manejo de archivos en C

Funciones de biblioteca para el manejo de archivos

El lenguaje C no cuenta con sentencias para el manejo de


archivos
Para el manejo de archivos utiliza funciones de la biblioteca
estandar de C
GNU desarroll
o la su propia biblioteca estandar llamada glibc,
utilizadas en UNIX/Linux
ANSI tambien define su propia biblioteca

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

12/20

Archivos

Funciones para archivos en C

Manejo de archivos en C

Abstraccion

Las funciones de biblioteca proporcionan un alto nivel de


abstraccion al programador para el manejo de archivos
Ocultando los detalles del funcionamiento del dispositivo de
almacenamiento
Ocultando los detalles de almacenamiento y recuperacion de la
informaci
on

La abstraccion hace que para el programador todo sistema de


almacenamiento sea tratado como un flujo (stream)

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

13/20

Archivos

Funciones para archivos en C

Flujos de texto

Flujos de texto

Cuando se interpretan los bytes del flujo en caracteres, se les


conoce como flujo de texto
Los flujos de texto (text stream) es una secuencia de
caracteres
Para la lectura de flujos de caracteres, C cuenta con dos tipos
de funciones
Funciones orientadas a caracter
Funciones orientadas a cadenas

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

14/20

Archivos

Funciones para archivos en C

Flujos de texto

Funciones orientadas a caracter

Funciones que lee un caracter a la vez y para delimitar un


flujo pueden utilizar cualquier caracter, incluidos los caracteres
de control
Caracteres imprimibles: , -, , etc.
Caracteres de control: \n, \0, \r, etc.

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

15/20

Archivos

Funciones para archivos en C

Flujos de texto

Funciones orientadas a cadenas

Funciones que lee una secuencia de caracteres hasta que


encuentran un caracter especfico
Caracter de espacio
Caracter de nueva linea \n
Indicador de fin de archivo EOF

Una vez leidos los caracteres, la funci


on intercambia el
caracter delimitador por el caracter nulo (consultar el manual
de cada funcion)

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

16/20

Archivos

Funciones para archivos en C

Flujos binarios

Flujos binarios

Cuando No se les da una interpreci


on a los bytes del flujo, se
les conoce como flujo binario
Los bytes ledos son interpretados dentro del programa
Si se toman grupos de 4 bytes, pueden ser interpretados como
int o como float
Si se toman grupos de 8 bytes, pueden ser interpretados como
double

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

17/20

Archivos

Funciones para archivos en C

Flujos binarios

Descriptor archivo

Para acceder a un flujo asociado con un archivo desde un


programa en C, es necesario un descriptor de archivo
Los descriptores de archivos en la biblioteca estandar son de
tipo FILE, la cual es una estructura definida en el archivo
stdio.h

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

18/20

Archivos

Funciones para archivos en C

Flujos binarios

Operaciones sobre archivos

Todo archivo debera ser


Localizado en el sistema de archivos por medio de una ruta
(path) y un nombre
Una vez localizado debera ser abierto
Abierto el archivo se podra leer de el y/o escribir en el
Finalmente debera ser cerrado

Oscar Alvarado Nava

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

19/20

Archivos

Funciones para archivos en C

Flujos binarios

Funciones buffereadas comunes


Nombre

Funci
on

fopen()
fclose()
putc()
fputc()
getc()
fgetc()
fseek()
fprintf()
fscanf()
feof()
ferror()
rewind()
remove()
fflush()
fread()
fwrite()

Abre un archivo
Cierra un archivo
Escribe un caracter en el archivo

Oscar Alvarado Nava

Lee un caracter en el archivo


Busca un bytes en especfico
Lo mismo que printf pero a un archivo
Lo mismo que scanf pero a un archivo
Regresa verdadero cuando llega al final del archivo
Regresa verdadero cuando se ha generado un error
Regresa el apuntador a la posici
on inicial
Elimina archivo
Limpia el flujo
Lee tipos de datos multi-byte
Escribe tipos de datos multi-byte

UAM Azcapotzalco

Almacenamiento y recuperaci
on de informaci
on

20/20

Anda mungkin juga menyukai