Resumen + Ejemplos vistos en el Taller de Entrada/Salida

Resumen + Ejemplos vistos en el Taller de Entrada/Salida

de Juan Pablo Garella -
Número de respuestas: 0

Estimados, 


Como les comenté hoy de mañana al final de la clase de lectura del obligatorio, adjunto el archivo de código fuente utilizado en el taller de entrada/salida. Encontraran varios ejemplos de manejo de flujos.


Resumen Taller E/S (funciones de utilidad de la librería stdio.h)


Abrir y cerrar arhivos:

Sentencias de ejemplo:

            FILE *fp = fopen("file.txt", "w"); // Abrimos un archivo

            fclose(fp); //Cerramos


Probar abrir un archivo de distintas maneras:

- con "r" abrimos el archivo para leer

- con "w" creamos un archivo para escribir, descartamos contenido anterior

- con "a" creamos un archivo para escribir, escribimos al final del archivo

- con "r+" abrimos un archivo como lectura y escritura, comenzando al inicio

- con "w+" abrimos un archivo como lectura y escrtura, descartamos el contenido anterior

- con "a+" abrimos un archivo como lectura y escritura, comenzamos a escribir al final del archivo


Leemos y escribimos con formato: fscanf y fprintf:

- int fscanf(FILE *stream, const char *format, ...): lee la entrada con formato desde un flujo de datos

- int fprintf(FILE *stream, const char *format, ...): escribe con formato hacia un flujo de datos


Escribimos caractéres: putc, fputc, fputs:

- int putc(int character, FILE* stream): escribe un caracter en el flujo de datos (puede ser implementado como un macro)

- int fputc(int character, FILE* stream): lo mismo que putc (no puede ser implementado como un macro)

- int fputs (const char* str, FILE* stream): escribe un string en el flujo de datos hasta encontrar el caracter '\0'


Leemos caractéres: getc, fgetc, fgets

- int getc(FILE* stream): obtiene un caracter desde un flujo de datos (puede ser implementado como un macro)

- int fgetc(FILE* stream): lo mismo que getc (no puede ser implementado como un macro)

- char* fgets(char* str, int num, FILE* stream): obtiene un string desde un flujo de datos, hasta haber leido num-1 caracteres, o hasta encontrar un espacio o fin de linea. Lo que llegue primero.


Posicionamiento en los archivos: fseek, rewind:

- int fseek(FILE *stream, long int offset, int whence): 

- stream: This is the pointer to a FILE object that identifies the stream.

- offset: This is the number of bytes to offset from whence.

- whence: This is the position from where offset is added. It is specified by one of the following constants

Constant Description

SEEK_SET Beginning of file

SEEK_CUR Current position of the file pointer

SEEK_END End of file

- void rewind(FILE *stream): setea la posición del archivo al comienzo del archivo del flujo de datos



Saludos,


Juan Pablo Garella