Diapositivas de archivos

Anuncio
Archivos
●
Definición... ok
●
Todo archivo en general tiene:
●
Ruta (camino) – PATH – ubicación en sist. de archivos
●
Nombre (que lo diferencia de los demás)
●
●
●
Extensión - Según la extensión el SO asocia una
aplicación p.eg .doc se asocia word, .xls se asocia excel.
Tipos:
●
Texto plano – Entendidos por humanos - .c
●
Binarios - Entendido por las máquinas - .out ó .exe
¿Cuantos caracteres tiene el siguiente archivo?
Manejo de archivos en C:
1. Crear el flujo (puntero) del tipo FILE *
Eg FILE *fp;
2. Conocer nombre, extensión y ruta del archivo
1.Dato
2.Pedido por teclado
3. Unir 1 y 2. Abrir el archivo utilizando la función fopen y
asignándole el resultado de la llamada a nuestro flujo
(ptro)
4. Jugar con el archivo ( R/W el archivo).
5. Desunir 1 y 2 (Cerrar el archivo utilizando la función
fclose)
fopen()
FILE * fopen (const char *nombre, const char *modo);
●
●
●
Si NO existe error ubica el flujo en el primer byte del
archivo y resultado el almacenado en el flujo.
Si existe error retorna NULL.
En la cadena nombre se debe colocar la ruta
(ubicación del archivo) si se omite, tomará o creará el
archivo del directorio(actual) donde este el ejecutable.
Modo de texto
●
●
●
●
●
●
"r" ó “rt” : abrir un archivo para lectura, el archivo debe
existir.
"w" ó “wt”: abrir un archivo para escritura, se crea si no
existe o se sobreescribe si existe. ( en ambos casos en
archivo ocupa 0By)
"a" ó “at”: abrir un archivo para escritura al final del
contenido, si no existe se crea.
"r+" ó “r+t” : abrir un archivo para lectura y escritura, el
fichero debe existir.
"w+" ó “w+t” : crear un archivo para lectura y escritura,
se crea si no existe o se sobreescribe si existe.
Modo binario
●
●
●
“rb” : abrir un archivo para lectura, el archivo
debe existir.
“wb”: abrir un archivo para escritura, se crea
si no existe o se sobreescribe si existe. ( en
ambos casos en archivo ocupa 0By)
“ab”: abrir un archivo para escritura al final
del contenido, si no existe se crea.
fclose()
int fclose (FILE *stream);
●
Cierra el flujo
●
P eg.
fclose(fp);
Leer (R)
●
Caracter
●
●
Cadenas
●
●
char fgetc(FILE *archivo);
fgets(char *cadena, int tamaño, FILE *archivo);
Enteros o reales
●
fscanf(flujo,fmt,dir de vble)
Escribir (W)
●
Cadenas, enteros o reales
●
fprintf(flujo,fmt(s),vble(s));
Otras (Ubicacion)
●
Retornar el flujo al primer byte
●
●
rewind(flujo);
Ubicar el flujo
●
int fseek( FILE *flujo, int desplto, int origen);
–
El origen puede ser:
●
●
●
●
SEEK_SET (desde el principio)
SEEK_CUR (desde la posición actual, desplto negativo)
SEEK_END (desde el final, desplto negativo)
Determinar si el flujo encontró el final
●
int feof(FILE *fichero);
–
La función feof siempre devolverá cero (Falso) si no es encontrado EOF
en el archivo, de lo contrario regresará un valor distinto de cero
(Verdadero).
Descargar