SEP
SEIT
DGIT
INSTITUTO TECNOLÓGICO DE NUEVO
LAREDO
DEPTO. DE SISTEMAS Y COMPUTACIÓN
Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/takeyas
Email:
[email protected]
“Manejo de Archivos en Lenguaje
C++”
Por:
Manejo de Archivos en Lenguaje C++
TABLA DE CONTENIDO
Tabla de figuras.……………………………………………...
Prefacio………………………………………………………...
1.- CONCEPTOS BÁSICOS DE ARCHIVOS……………..
1.1. ¿Cómo surge la necesidad de utilizar archivos?................................
1.2. Relación entre la memoria principal, el microprocesador y
Pág.
5
7
dispositivos de almacenamiento secundario......................................
1.3. Definiciones de datos, registros y archivos…………………………….
1.4. Analogías de archivos y archiveros..……………………………………
1.5. Apertura de archivos……………………………..……………………....
1.6. Clasificación de archivos por tipo de contenido…………………….....
1.6.1. Archivos de texto…….………………….………………………...
1.6.2. Archivos binarios………………………………………………..…
1.7. Clasificación de archivos por tipos de acceso…………………….......
1.7.1. Archivos secuenciales………………….………………………...
1.7.1.1. Consulta o recorrido secuencial……………………….
1.7.2. Archivos directos (relativos, de acceso directo o aleatorios)…
1.7.2.1. Direcciones lógicas y direcciones físicas……………..
1.7.2.2. Cálculo de direcciones físicas…………………………
1.7.2.3. Consulta directa…………………………………………
2.- FUNCIONES DE MANEJO DE ARCHIVOS EN
LENGUAJE C++…………............................................
2.1. Declaración del alias del archivo…..……………………………………
2.2. Funciones de manejo de archivos en C++…..…………………………
2.2.1. La función fopen() y modos de apertura de archivos………
2.2.2. Validar la apertura de un archivo………………………………..
2.2.3. Cierre de archivos usando fclose() y fcloseall()……...
2.2.4. Escritura de registros usando fwrite()…….........................
2.2.4.1. Vaciando los buffers con fflush()………………….
2.2.5. Lectura de registros usando fread()……..............................
2.2.6. Reposicionando el apuntador mediante fseek()……............
2.2.6.1. Puntos de referencia de la función fseek()………..
2.2.6.2. Conociendo la posición del apuntador del archivo
con la función ftell()………………………………...
2.2.6.3. Colocando el apuntador del archivo al principio con
la función rewind()……………………………………
Ing. Bruno López Takeyas , M.C. 2
8
8
9
10
12
16
17
18
18
19
20
20
22
22
23
24
26
26
26
27
28
29
29
31
31
31
32
34
34
Manejo de Archivos en Lenguaje C++
2.2.7. Detectando el final del archivo con feof()…….....................
2.2.8. Cambiando nombres de archivos mediante rename()……....
2.2.9. Eliminando archivos con la función remove()…….................
3.- APLICACIONES DE ARCHIVOS EN C++…………….
3.1. Declaraciones globales.........……....……………………………………
3.2. Archivos secuenciales en Lenguaje C++………………………………
3.2.1. ALTAS secuenciales……………….……………………………..
3.2.1.1. Diagrama de flujo de la rutina de ALTAS
secuenciales..............................................................
3.2.1.2. Codificación de la rutina de ALTAS secuenciales…...
3.2.2. CONSULTAS secuenciales.…….……………….………………
3.2.2.1. Diagrama de flujo de la rutina de CONSULTAS
secuenciales..............................................................
3.2.2.2. Codificación de la rutina de CONSULTAS
secuenciales…..........................................................
3.2.3. LISTADO secuencial............…….……………….………………
3.2.3.1. Diagrama de flujo de la rutina de LISTADO
secuencial.................................................................
3.2.3.2. Codificación de la rutina de LISTADO secuencial......
3.2.4. MODIFICACIONES de datos en un archivo secuencial...........
3.2.4.1. Diagrama de flujo de la rutina de MODIFICACION
secuencial.................................................................
3.2.4.2. Codificación de la rutina de MODIFICACIÓN
secuencial.................................................................
3.2.5. BAJAS de registros en un archivo secuencial (bajas ógicas y
bajas físicas)............................................................................
3.2.5.1. Diagrama de flujo de la rutina de BAJAS lógicas en
un archivo secuencial................................................
3.2.5.2. Codificación de la rutina de BAJAS lógicas en un
archivo secuencial.....................................................
3.2.5.3. Diagrama de flujo de la rutina de BAJAS físicas en
un archivo secuencial (compactar)............................
3.2.5.4. Codificación de la rutina de BAJAS físicas en un
archivo secuencial (compactar).................................
3.3. Archivos directos en Lenguaje C++……………………………….........
3.3.1. ALTAS directas........……………….……………………………..
3.3.1.1. Diagrama de flujo de la rutina de ALTAS directas......
3.3.1.2. Codificación de la rutina de ALTAS directas........…...
3.3.2. CONSULTAS directas..........…….……………….………………
3.3.2.1. Diagrama de flujo de la rutina de CONSULTAS
directas......................................................................
3.3.2.2. Codificación de la rutina de CONSULTAS directas....
3.3.3. MODIFICACIONES directas..........…….……………….…….....
3.3.3.1. Diagrama de flujo de la rutina de
MODIFICACIONES directas.....................................
Ing. Bruno López Takeyas , M.C. 3
35
35
36
38
38
39
40
40
42
43
43
43
44
44
46
47
47
49
50
51
53
54
56
57
57
57
59
60
60
62
63
63
Manejo de Archivos en Lenguaje C++
3.3.3.2. Codificación de la rutina de MODIFICACIONES
directas......................................................................
3.3.4. BAJAS de registros en un archivo de acceso directo (bajas
lógicas)....................................................................................
3.3.4.1. Diagrama de flujo de la rutina de BAJAS lógicas
directas......................................................................
3.3.4.2. Codificación de la rutina de BAJAS lógicas directas..
4.- CONCLUSIONES......................................…………….
5.-BIBLIOGRAFÍA..............................................………….
65
66
67
69
71
72
Ing. Bruno López Takeyas , M.C. 4
Manejo de Archivos en Lenguaje C++
TABLA DE FIGURAS
No. Descripción
Pág.
Interacción entre la memoria principal, el microprocesador y los
1
archivos……………………………………………………………………
2 Formato del registro de Productos……………………………………..
3 Declaración del registro de Productos…………………………………
4 Formato del registro de Productos……………………………………..
5 Cuadro comparativo de archivos y archiveros………………………..
6 Apertura de archivos…………………………………………………….
7 Clasificación de archivos por contenido……………………………….
8 Clasificación de archivos por tipo de acceso…………………………
9 Diagrama de flujo de rutina de consulta secuencial………………….
10 Ejemplo de cálculo del espacio ocupado por un registro……………
11 El lenguaje C++ maneja archivos con direcciones físicas…………..
12 Direcciones lógicas y físicas de un archivo…………………………...
13 Cálculo de la dirección física a partir de la dirección lógica…………
14 Diagrama de flujo de rutina de consulta directa………………………
15 Modos de apertura para archivos de texto y binarios………………..
16 La función fopen………………………………………………………….
17 Validar la apertura de un archivo………………………………………
18 La función fwrite………………………………………………………….
19 Puntos de referencia de la función fseek……………………………...
20 La función fseek………………………………………………………….
21 La función ftell……………………………………………………………
22 La función rewind………………………………………………………...
23 La función rename……………………………………………………….
24 La función remove……………………………………………………….
25 Declaraciones globales de las aplicaciones…………………………..
26 Diagrama de flujo de rutina de alta secuencial……………………….
27 Codificación de la rutina de altas secuenciales………………………
28 Codificación de la rutina de consultas secuenciales………………..
29 Diagrama de flujo de rutina de listado secuencial……………………
30 Codificación de la rutina de listado secuencial……………………….
31 Diagrama de flujo de rutina de modificación secuencial……………
32 Codificación de rutina de modificación secuencial…………………..
33 Diagrama de flujo de rutina de baja lógica secuencial………………
34 Codificación de rutina de baja lógica secuencial……………………..
35 Diagrama de flujo de rutina de baja física secuencial (compactar)...
36 Codificación de rutina de baja física secuencial (compactar)……….
37 Diagrama de flujo de rutina de altas directas…………………………
38 Codificación de rutina de altas directas……………………………….
39 Diagrama de flujo de rutina de consultas directas……………………
40 Codificación de rutina de consultas directas………………………….
Ing. Bruno López Takeyas , M.C. 5
9
11
11
12
13
17
18
20
21
22
23
23
24
25
27
28
29
30
33
33
34
34
36
37
39
41
42
43
45
46
48
49
52
53
55
56
58
59
61
62
Manejo de Archivos en Lenguaje C++
64
65
68
69
41 Diagrama de flujo de rutina de modificación directa………………...
42 Codificación de rutina de modificaciones directas……………………
43 Diagrama de flujo de rutina de baja lógica directa…………………...
44 Codificación de rutina de baja lógica directa………………………….
Ing. Bruno López Takeyas , M.C. 6
Manejo de Archivos en Lenguaje C++
PREFACIO
Durante el tiempo que he impartido la materia de “Administración de
Archivos” en la carrera de Ingeniería en Sistemas Computacionales (ISC) en el
Instituto Tecnológico de Nuevo Laredo (ITNL), me he percatado
Comentarios de: Manejo de Archivos en Lenguaje C++ (0)
No hay comentarios