elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  leer cadenas de un fichero binario y mostrarlas por pantalla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: leer cadenas de un fichero binario y mostrarlas por pantalla  (Leído 3,834 veces)
minette1988

Desconectado Desconectado

Mensajes: 53


Ver Perfil
leer cadenas de un fichero binario y mostrarlas por pantalla
« en: 15 Junio 2010, 13:59 pm »

Hola, el siguiente programa escribe cadenas en un fichero binario, luego las lee del fichero y finalmente las muestra por pantalla:

Código
  1. #include <stdio.h> //escribe una cadena en un fichero y después lo lee y escribe en pantalla
  2. #include <string.h>
  3.  
  4. struct registro{
  5.   char nombre[50];
  6. };
  7.  
  8.  
  9. int   main ()
  10.   {
  11.      FILE *fich;
  12.      char nom_fich[50];
  13.      char op;
  14.  
  15.      struct registro datos;
  16.  
  17.      printf("Introduzca nombre del fichero: ");
  18.      scanf("%49s",nom_fich);
  19.      /* Escritura del float en el fichero */
  20.      if ((fich = fopen (nom_fich, "wb")) == NULL)
  21.         {
  22.         printf ("Error de creación del fichero\n");
  23.  
  24.         }
  25.       else{
  26.          do{
  27.           printf("Introduce una cadena: ");
  28.           scanf("%49s",datos.nombre);
  29.           fwrite (&datos, sizeof (datos), 1, fich);
  30.           printf("¿Otro? (s/n)");
  31.           scanf("%1s",&op);
  32.          }while((op == 's') || (op == 'S'));
  33.       }
  34.       fclose (fich);
  35.  
  36.       /* Lectura del float del fichero */
  37.      if ((fich = fopen (nom_fich, "rb")) == NULL)
  38.         {
  39.         printf ("Error de existencia del fichero\n");
  40.  
  41.         }
  42.      else{
  43.          fread (&datos, sizeof(datos), 1, fich);
  44.          while(!feof)
  45.             fread (&datos, sizeof(datos), 1, fich);
  46.      }
  47.      fclose (fich);
  48.  
  49.      printf ("%s\n", datos.nombre);
  50.   }
  51.  

Cuando lo compilo sólo me imprime la primera cadena, ¿por qué? Por favor, contestadme pronto esta tarde tengo examen de recuperación. Gracias.


En línea

Eternal Idol
Kernel coder ajeno al tiempo
Moderador
***
Desconectado Desconectado

Mensajes: 5.974


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: leer cadenas de un fichero binario y mostrarlas por pantalla
« Respuesta #1 en: 15 Junio 2010, 14:46 pm »

El error se ve muy rapidamente si no hace un minimo esfuerzo, estas llamando a una funcion sin pasarle ningun parametro. Si depuras el programa vas a ver lo que hace y que tengas examenes no es relevante, al contrario, nos indica que pedis ayuda con tus tareas y por lo tanto cierro el hilo.

Depuralo atentamente y veras el error, es mas el VC++ da un warning al respecto.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MOD] fichero binario
Programación C/C++
prosco 1 3,222 Último mensaje 17 Mayo 2011, 23:31 pm
por willyhunting
Leer archivo binario en Vbs
Scripting
kapo.damy 2 4,714 Último mensaje 14 Diciembre 2011, 04:51 am
por kapo.damy
Eliminar duplicados fichero binario
Programación C/C++
andrewmetal93 1 2,790 Último mensaje 9 Mayo 2012, 19:23 pm
por andrewmetal93
Volcar cadena de fichero binario en C
Programación C/C++
mester 9 4,564 Último mensaje 27 Mayo 2015, 23:22 pm
por Peregring-lk
Acceso en fichero binario en C
Programación C/C++
JHodges 1 2,307 Último mensaje 17 Junio 2015, 01:01 am
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines