8. Formateo y manipulación de archivos

    Input y Output formateados

 Tipo de Variable  Descriptor de edición Especificaciones
 Entero  I w w es el número de dígitos del entero
 Real

Fw. d

w es el número total de dígitos incluyendo el signo negativo, punto decimal y número de cifras decimales. 
d el número de cifras decimales mostradas
 Caracter  Aw w es el número de caracteres
 Espacios   nX  n es el número de espacios
 Exponencial  Ew. d d digitos de la mantisa 
w es el tamaño total

 Valor Descriptor de edición
2099 i4
-72.81 f6.2
1.86x105 (+0.186E+06) e10.3
Cup of Tea a10

 

    La instrucción FORMAT:

 etiqueta

 FORMAT(c,edl,ed2,'Text message to the screen',ed3...)
 
 label   es un número de identificación que asocia el formato a una instrucción PRINT o READ.  
 edl,ed2  son descriptores de edición separados por comas
  text  mensages que son rodeados por comillas simples
 c

 es el control de carro para la salida y sólo puede ser:

 lx  mover la salida hasta la siguiente linea
 O  doble espaciado
 +  mover al comienzo de la linea, sobreescribiendo todo lo que ya había.
 l  comenzar una nueva página

 

    Manipulación de archivos

 

 READ  (control list) variable list
 WRITE  (control list) variable list

donde control list pueden ser algunos de las siguientes instrucciones:

 UNIT = identificador de la unidad
 FMT = identificador del formato
 END = etiqueta ERR = etiqueta

Ejemplo:

READ(UNIT = l,FMT = 10)A,B,C

READ(1,10)A,B,C

WRITE(UNIT = 2,FMT = 20)X,Y,Z

WRITE(2,20)X,Y,Z

Identificador de la unidad:

WRITE(2,FMT=20)X,Y,Z

Identificador del formato:

READ(UNIT=l, FMT = 10)A,B,C   (La instrucción FORMAT está en la etiqueta 10)

READ(UNIT=1, FMT = *)A,B,C    (No hay formato)

 

READ(1,10)A,B,C 

Condición FIN del archivo:

 

80  READ(l,*,END=99)A,B,C
 c  do something with A, B, and C
   GOTO 80
 99

PRINT *, ALL DATA READ'

Condición de error:

   READ(l,*,ERR=100,END=200)A,B,C
 100  PRINT *, ERROR ON READING, STOPPING PROGRAM RUN'
   STOP
  c or else continue with the rest of the program
 200 CONTINUE
   END

Abrir y cerrar archivos:

La instrucción OPEN:

La instrucción OPEN conecta el archivo y define las especificaciones del archivo.

OPEN(UNIT = number,filespec list)

where the file specifications list can be some of the following:

ERR = label

FILE = 'nombre del archivo'

STATUS = 'character'

ERR - Si una condición de error ocurre cuando el archivo va a abrirse el programa salta a la etiqueta.
FILE - Especifica el nombre del archivo que se va a abrir.
STATUS - This is also a character entity which must be enclosed in quotes
OLD    El archivo ya existe.
NEW   El archivo no existe y se crea.
UNKNOWN El archivo puede o no existir.

La instrucción CLOSE:

La instrucción CLOSE desconecta el archivo:

 CLOSE([UNIT=] number)