Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: tumayy en 23 Octubre 2011, 21:57 pm



Título: buscar registro con fseek
Publicado por: tumayy en 23 Octubre 2011, 21:57 pm
este es un segmento de mi programa
hay un fichero llamado ejemplo.txt, que tiene los siguientes registros
primero
segundo
tercero

mediante el fseek deseo buscar e imprimir el registro n que es tecleado, pero no me sale....ayuda con el codigo (las variables y el puntero a file son globales)
   


  void consulta()
     {
   int n;
        if((pf=fopen("ejemplo.txt","r"))==NULL)
            {
                printf("error");
            }
         else
         printf("numero de resgistro");
         scanf("%d",&n);
         
         fseek(pf,n*sizeof(char),SEEK_SET);

          fread(&cadena,sizeof(char),1,pf) ;
          printf("%s",cadena[4000]) ;
     }


Título: Re: buscar registro con fseek
Publicado por: rir3760 en 24 Octubre 2011, 03:13 am
Honestamente con lo poco que presentas no es posible ayudarte.

Para empezar necesitamos conocer como se almacena cada registro en el archivo. Y si este lo abres en el modo texto no puedes (mas bien no deberías por detalles técnicos) utilizar fseek para encontrar un registro, en su lugar procesas el archivo linea por linea.

Mejor publica la versión mas pequeña posible de tu programa.

Un saludo


Título: Re: buscar registro con fseek
Publicado por: tumayy en 24 Octubre 2011, 19:23 pm
lo que me piden en el programa

MENU
1. ingresar(escribir en un fichero)
2.consultar(con fseek ir a determinado registro)
3.modificar(con fseek modificar un registro determinado)
4.mostrar(muestra todos los registros)

ayudame con este programa


Título: Re: buscar registro con fseek
Publicado por: Saberuneko en 30 Octubre 2011, 14:26 pm
Creo que no lo has entendido del todo, lo que se te ha pedido, a parte de saber qué es lo que haces, es un código algo más completo.

- Con qué trabajas en el fichero? Cadenas? Estructuras?
Yo por ejemplo, creo que necesito ver lo que viene a ser la cabecera del programa, (donde declaras las variables, estructuras y sus tipos), para saber exactamente que es lo que intentas manejar en el archivo.


Título: Re: buscar registro con fseek
Publicado por: do-while en 31 Octubre 2011, 14:43 pm
¡Buenas!

Otro detalle, si desconoces el tamaño del registro, poco podras hacer con fseek. Tendras que trabajar con ficheros binarios, con registros del mismo tamaño, para poder acceder a ellos de forma directa, y no sobre ficheros de texto.

¡Saludos!