Archivos en c++

Solo disponible en BuenasTareas
  • Páginas : 6 (1327 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de diciembre de 2010
Leer documento completo
Vista previa del texto
• Conceptos Básicos (puntero a FILE, fopen, fclose) • Leyendo Datos de un Archivo de Acceso Secuencial • Escribir un Archivo de Acceso Secuencial - Carácter por Carácter - Línea por Línea - Con Formato

Conceptos Básicos
• La información que se guarda en variables es temporal
– Todo lo que se almacena en variables se pierde cuando el programa termina. – Esta información es almacenadarealmente en memoria principal (RAM).

• Para poder guardarla permanentemente se debe almacenar la información en archivos. • Los archivos se almacenan en memoria secundaria como Discos Duros, DVD, Flash Memory, etc. • Así la información se mantiene en el archivo, aún después que el programa haya terminado su ejecución. • Ejemplos:
– Puntajes en los juegos, como el Buscaminas – Notas de estudiantes enuna hoja electrónica – Voces grabadas usando el computador, etc.

Archivos de Texto
• Los archivos pueden almacenar todo tipo de información, dependiendo de eso tienen un tipo el cual se reconoce en Windows por la extensión En lenguaje C tenemos los archivos que almacenan información tipo texto como secuencia de caracteres (extensión .txt), y los archivos tipo binario (extensión .dat)Estructura bidimensional:



Conjunto de líneas, cada una ¿Que hay en un nombre? compuesta de caracteres Eso que llamamos una rosa Emanaría un olor tan dulce, aun teniendo otro nombre



Este ejemplo de un archivo es un conjunto de caracteres presentado en 3 líneas, pero en realidad los archivos de texto son una sola secuencia de caracteres, incluido el carácter „\n‟:
Estructuraunidimensional, es solo un conjunto de caracteres, incluyendo el \n

¿Que hay en un nombre?\nEso que llamamos una rosa\nEmanaria un olor tan dulce, aun teniendo otro nombre

Tipo de Dato FILE
• stdio.h es una de las interfaces que nos permite trabajar con archivos. El tipo de dato FILE está declarado en esta interfaz • Un puntero de tipo FILE sirve para representar a un archivo en un programa en C. – Porcada archivo con el que se desee trabajar, se declara una variable FILE * – FILE *infile, *outfile; éstas dos variables, pueden representar a dos archivos en el programa. • Si una función va a trabajar con un archivo, puede recibir una variable de tipo FILE *

Abrir y Cerrar Archivos
• Desde un programa en C se puede crear archivos, o abrir archivos ya existentes para modificarlos • Además, sepuede tomar datos del archivo y ponerlos en variables, eliminar y renombrar archivos, y muchas otras operaciones • Todas son operaciones que se manejan a través de funciones • Para trabajar con archivos : – Declare una variable de tipo FILE *(un puntero) – Esta se debe asociar con el archivo, usando la función fopen – Se efectúan las operaciones indicadas – Cuando se ha terminado de trabajar conel archivo, este se cierra con fclose

Abrir y Cerrar Archivos
• La variable de tipo FILE * se la utiliza asociándola a un archivo con la función fopen • variable de tipo FILE * = fopen (nombre de archivo, modo); Un archivo se puede abrir en los siguientes modos: – Lectura: “r” • Para “tomar” datos del archivo. El archivo DEBE existir – Escritura: “w” • Para crear archivos, y escribir o enviardatos al archivo. Si el archivo no existe, lo crea, si ya existe, lo sobre-escribe – Añadir: “a” • Para escribir o enviar datos a un archivo que ya existe. Si no existe, lo crea, si ya existe, los datos enviados se “añaden” infile = fopen (“shakespeare.txt”,”r”);



Abrir y Cerrar Archivos
• Si la operación de “abrir” falla por alguna razón (por ejemplo el archivo no existe), fopendevuelve NULL.

FILE *infile; infile = fopen (“shakespeare.txt”,”r”); if(infile == NULL) { printf(“Error al abrir el archivo\n”); } /*trabajar con el archivo*/ Cuando se ha terminado de trabajar con el fclose(infile);

archivo, este se cierra con fclose. Cuando un programa termina, todos los archivos se cierran, pero es una BUENA PRACTICA de programación, cerrar los archivos, pues al revisar el...
tracking img