Académique Documents
Professionnel Documents
Culture Documents
Programacin en C 1
ndice
Tipos de archivos.
Apertura de archivos.
Cierre de archivos.
Lectura de archivos.
Escritura de archivos.
Acceso directo en archivos binarios.
Programacin en C 2
Introduccin y tipos de archivos
Programacin en C 3
Introduccin y tipos de archivos
Programacin en C 7
Lectura en archivos texto: funcin fscanf
Programacin en C 8
Escritura en archivos texto: funcin fprintf
Programacin en C 9
Otras funciones de entrada y salida para
archivos de texto
Hay varias funciones que lee o escriben caracteres o cadenas
de caracteres de forma eficiente cuyos prototipos son:
int fgetc (FILE *punt_archivo);
lee el siguiente carcter desde el archivo como un int. Si se llega al final
del fichero u ocurre un error devuelve EOF.
int fputc (int carcter, FILE *punt_archivo);
escribe el carcter que se le pasa como argumento en el archivo. El valor
devuelto es el carcter escrito o EOF si ocurre un error.
char *fgets (char *cadena, int tam_cad, FILE *punt_archivo);
lee una cadena de caracteres del archivo y lo almacena en la cadena de
caracteres cadena. La lectura se acaba cuando se encuentra \n, EOF
o se han ledo tam_cad-1 caracteres.
int fputs (const char *cadena, FILE *punt_archivo);
escribe la cadena que se le pasa como argumento en el archivo. El valor
devuelto es un nmero positivo o EOF si ocurre un error.
Programacin en C 10
Lectura/Escritura en archivos binarios
Programacin en C 11
Lectura en archivos binarios
Programacin en C 13
Acceso directo en archivos binarios
Programacin en C 15
Preprocesador y programas
multifichero
Programacin en C 16
ndice
Programacin en C 17
Directivas del preprocesador
Programacin en C 18
Constantes y Macros
Programacin en C 19
Constantes y Macros. Ejemplos
#define PI 3.14
#define NUM_ELEM 5
#define AREA(rad) PI*rad*rad
#define MAX(a,b) (a>b ? a : b)
int main()
{
int i;
float vec[NUM_ELEM];
for(i=0;i<NUM_ELEM;i++)
vec[i]=MAX((float)i*5.2,AREA(i));
}
Programacin en C 20
Constantes y Macros. Despus del
preprocesamiento
int main()
{
int i;
float vec[5];
for(i=0;i<5;i++)
vec[i]=((float)i*5.2>3.14*i*i ?
(float)i*5.2 :
3.14*i*i);
}
Programacin en C 21
Macros vs Funciones
max a b max a b
3 3 2 2 3 1
Programacin en C 22
Inclusin de Ficheros
Programacin en C 23
Inclusin de Ficheros
Programacin en C 24
Sentencias Condicionales
Programacin en C 25
Ejemplo: Depuracin
#define DEBUG
int main()
{
int i,acc;
for(i=0;i<10;i++)
acc=i*i-1;
#ifdef DEBUG
printf(Fin bucle acumulador: %d,acc);
#endif
return 0;
}
Programacin en C 26
Ejemplo: Fichero de cabecera
aux.h
Evita la redefinicion de
#ifndef _AUX_H_
#define _AUX_H_ funciones y variables
<definiciones>
#endif #include aux.h
#include aux.h
int main()
{
...
}
Programacin en C 27
Compilacin en modo comando
Programacin en C 28