Tesis De Informatica

Páginas: 5 (1113 palabras) Publicado: 19 de junio de 2012
MANEJO DE ARCHIVOS.
El estándar de C contiene funciones varias para la edición de ficheros, estas están definidas en la cabecera stdio.h y por lo general empiezan con la letra f, haciendo referencia a file. Adicionalmente se agrega un tipo FILE, el cual se usará como apuntador a la información del fichero. La secuencia que usaremos para realizar operaciones será la siguiente:
 Crear unapuntador del tipo FILE
 Abrir el archivo utilizando la función fopen y asignándole el resultado de la llamada a nuestro apuntador.
 Hacer las diversas operaciones (lectura, escritura, etc).
 Cerrar el archivo utilizando la función fclose.
Los prototipos correspondientes de fopen y fclose son:
FILE * fopen (const char *filename, const char *opentype);
int fclose (FILE *stream);
Un ejemplopequeño para abrir y cerrar el archivo llamado fichero.in en modo lectura:
#include
int main ( int argc, char **argv ) {
FILE *fp;
fp = fopen ( "fichero.in", "r" );
fclose ( fp );
return 0;
}
Como vemos, en el ejemplo se utilizó el opentype “r”, que es para la lectura, aquí hay una lista de ellos:
 “r” : abrir un archivo para lectura
 “w” : abrir un archivo para escritura
 “a” : abrir unarchivo para escritura al final del contenido
 “r+” : abrir un archivo para lectura y escritura
 “w+” : crear un archivo para lectura y escritura
 “a+” : abrir/crear un archivo para lectura y escritura al final del contenido
Adicionalmente hay tipos utilizando “b” (binary) los cuales no serán mostrados por ahora y que solo se usan en los sistemas operativos que no pertenecen a la familia deunix.
Un archivo debe verse como un string (una cadena de caracteres) que esta guardado en el disco duro. Para trabajar con los archivos existen diferentes formas y diferentes funciones. Las funciones que podríamos usar para leer un archivo son:
 int fgetc(FILE *archivo)
 char *fgets(char *buffer, int tamano, FILE *archivo)
 size_t fread(void *puntero, size_t tamano, size_t cantidad, FILE*archivo);
Las primeras dos de estas funciones son muy parecidas entre si. Pero la tercera, por el numero y el tipo de parámetros, nos podemos dar cuenta de que es muy diferente, por eso la trataremos en una sección aparte junto al fwrite que es su contraparte para escritura.
La función fgetc es la más simple de las tres. Esta función lee un caracter a la vez del archivo que esta siendo señaladocon el puntero *archivo. En caso de que la lectura sea exitosa devuelve el caracter leído y en caso de que no lo sea o de encontrar el final del archivo devuelve EOF. Esta función se usa generalmente para recorrer archivos de texto. A manera de ejemplo vamos a suponer que tenemos un archivo de texto llamado “prueba.txt” en el mismo directorio en que se encuentra el fuente de nuestro programa. Unpequeño programa que lea ese archivo será:
#include
int main() {
FILE *archivo;
char caracter;
archivo = fopen("prueba.txt","r");
if (archivo == NULL)
exit(1);
printf ("\nEl contenido del archivo de prueba es \n\n");
while (feof(archivo) == 0){
caracter = fgetc(archivo);
printf ("%c",caracter);
}
return 0;
}
En este ejemplo lo que vemos ya ha sido explicado excepto por la funciónfeof. Esta función sirve para determinar si el cursor dentro del archivo encontró el final (end of file). Existe otra forma de verificar el final del archivo que es comparar el caracter que trae fgetc del archivo con el macro EOF declarado dentro de stdio.h, pero este método no ofrece la misma seguridad (en especial altratar con los archivos “binarios”). La función feof siempre devolverá 0 si no seencuentra al final del archivo.
Otra cosa importante es que el lenguaje C no tiene dentro de si una estructura para el manejo de excepciones o de errores, por eso es necesario comprobar que el archivo fue abierto con éxito “if (archivo == NULL)“. Si fopen pudo abrir el archivo con éxito devuelve la referencia al archivo (*FILE), de lo contrario devuelve NULL y en este caso se debera revisar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • tesis informatica
  • Tesis de informatica
  • Tesis De Informatica
  • Tesis de informatica
  • tesis INFORMATICA
  • tesis informatica
  • Tesis Informatica
  • Tesis de informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS