Ver Mensaje Individual
  #9 (permalink)  
Antiguo 24/10/2011, 00:52
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: acceso aleatorio ficheros

La función fseek es para archivos binarios, no de texto. En un archivo de texto, en principio, no puedes colocarte donde quieras para leer/escribir. Un archivo de texto es secuencial, lo que significa que para leer un dato determinado tienes que leer todos los anteriores, y solamente puedes añadir datos al final. Las operaciones de borrar datos, modificarlos, o insertar datos entre los ya existentes, solamente pueden hacerse mediante archivos auxiliares.

Los archivos binarios se leen/escriben mediante registros (bloques de bytes) de longitud fija. Aquí sí puedes ir directamente al registro que quieres leer/escribir.

Te sugiero repasar:

- Las opciones que te da la función fopen para apertura de ficheros.
- Las funciones fscanf, fprintf, fgets, fputs, fread, fwrite.
- Los arreglos en C.

Prueba con este código (solamente te mostrará el contenido de un archivo de texto, línea por línea):
Código C:
Ver original
  1. FILE *pFichero;
  2. char linea[100];
  3.  
  4. int main(void)
  5. {
  6.     pFichero = fopen("NombreFichero", "r");
  7.     while (!feof(pFichero))
  8.     {
  9.         fgets(linea, 100, pFichero);
  10.         printf("%s\n", linea);
  11.     }
  12.     fclose(pFichero);
  13. }

El resto quedaría como "tareas para hacer en casa"... Y ya sabes dónde estamos.