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


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  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,544 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.969


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 2,853 Último mensaje 17 Mayo 2011, 23:31 pm
por willyhunting
Leer archivo binario en Vbs
Scripting
kapo.damy 2 4,331 Último mensaje 14 Diciembre 2011, 04:51 am
por kapo.damy
Eliminar duplicados fichero binario
Programación C/C++
andrewmetal93 1 2,422 Último mensaje 9 Mayo 2012, 19:23 pm
por andrewmetal93
Volcar cadena de fichero binario en C
Programación C/C++
mester 9 3,965 Último mensaje 27 Mayo 2015, 23:22 pm
por Peregring-lk
Acceso en fichero binario en C
Programación C/C++
JHodges 1 1,926 Último mensaje 17 Junio 2015, 01:01 am
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines