1 / 7

La estructura donde se guardan los datos de los programas se llama archivo ( file )

LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE). La estructura donde se guardan los datos de los programas se llama archivo ( file ) Un file consiste en varias líneas de datos relacionados que forman una unidad Cada línea de información en un file se llama record

Download Presentation

La estructura donde se guardan los datos de los programas se llama archivo ( file )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE) • La estructura donde se guardan los datos de los programas se llama archivo (file) • Un file consiste en varias líneas de datos relacionados que forman una unidad • Cada línea de información en un file se llama record • Cuando los records se leen ordenadamente (un record tras otro) se llama acceso secuencialcuando lo hacemos sin in orden especifico se llama acceso directo

  2. SENTENCIA OPEN Open → Asocia un file con un número de unidad. En general: OPEN(lista_ de_ clausulas )

  3. Las 5 clausulas mas importantes son: • UNIT = → indica el numero de unidad de entrada salida asociada a un filetiliza un valor entero positivo • FILE= → nombre del archivo a ser abierto • STATUS = → puede ser uno de los siguientes: ´OLD’, ‘NEW’, ‘REPLACE’, ‘SCRATCH’ OR ‘UNKNOWN’ • ACTION= → indica si es un archivo para lectura, escritura o ambas. (READ, WRITE y READWRITE). Si no se pone nada se asume lectura y escritura. • IOSTAT= → nombre de un entero. Aclara si el archivo fue abierto correctamente o con error. Si no hay mensaje de error el valor es 0. Ej: Caso 1 El nombre del file es ‘ejemplo.dat’ yel número de unidad 8 INTEGER : : ierror OPEN(UNIT= 8, FILE = ‘ejemplo.dat’, STATUS = ‘OLD’, & ACTION = ‘READ’ , IOSTAT= ierror) ‘OLD’ → significa que el archivo ya existe. Si no existe IOSTAT manda un mensaje de error

  4. Caso 2 El nombre del archivo de salida SALDATOS en la unidad 25 INTEGER : : unit, ierror CHARACTER, (len=8) : : archivo archivo = ‘ SALDATOS’ unit = 25 OPEN(UNIT= unit, FILE= archivo, STATUS = ‘REPLACE’, & ACTION= ‘WRITE’, IOSTAT=ierror) ‘REPLACE’ quiere decir que un nuevo archivo será abierto para la salida exista o no un file con ese nombre. Si existe lo borra y crea un nuevo file para la salida. El contenido del viejo file se pierde. o OPEN(UNIT= unit, FILE= archivo, STATUS = ‘NEW’, & ACTION= ‘WRITE’, IOSTAT=ierror) Como el archivo esta declarado como ‘NEW’ si ya existe ierror saca un mensaje. Esto impide sobre imprimir un archivo.

  5. Caso 3 OPEN(UNIT= 12, STATUS = ‘SCRATCH’ , IOSTAT=ierror) ‘SCRATCH’ es un file temporario creado por el programa que se borra automáticamente cuando el programa termina. Notar que no se escribe el nombre del archivo (es un error escribirlo) Como no se puso ‘ACTION ‘ de este archivo se puede leer y escribir. SENTENCIA CLOSE Cierra el file y libera el número de unidad asociado al archivo. En general CLOSE(lista_ de_ clausulas ) CLOSE(UNIT= número entero) Si no se cierra el archivo cuando se termina el programa los archivos se cierran automáticamente.

  6. Cuando se cierra un file el número de unidad queda liberado para ser utilizado en la apertura de un nuevo archivo. Si se quiere reabrir el mismo archivo el número de unidad puede usarse el mismo número o cualquier otro. LECTURA Y ESCRITURA EN ARCHIVOS DE DISCO Por el OPEN se asocio un número a un archivo dentro del cual se puede leer y escribir usando esa relación: OPEN(UNIT=8, FILE=‘entra.dat’, STTUS=‘old’, IOSTAT=ierror) READ(8,*) x, y, z OPEN(UNIT=9, FILE=‘sal.dat’, STATUS=‘REPLACE’, IOSTAT=ierror) WRITE(9,100) x, y, z 100 FORMAT(‘ X = ’, F10.2.’ Y= ‘, F10.2, ‘ Z = ‘, F10.2) IOSTAT Toma la forma IOSTAT= var_entera

  7. En la lectura la var_entera toma el valor 0 si no existió ningún error. Si existió un error en el formato devuelve un número positivo Si encontró el fin de archivo , la variable devuelve un número negativo. Si no se conoce el fin de archivo y no existe la clausula IOSTAT cuando la lectura llega al final intenta leer el proximo registro y el programa se oborta. POSICIÓN EN EL FILE • Un archivo secuencial tiene que ser leido registro por registro.para poder saltear registros en un archivo secuencial hay 2 sentencias: • BACKSPACE mueve un record cada vez que es llamado • REWID vuelve el file a su principio. • BACKSPACE(UNIT=iunit) • Y • REWIND(UNIT=iunit) • iunit es el número entero asociado a a la unidad. • Ambas sentencias pueden incluir la clausula IOSTAT.

More Related