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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C]duda sobre struct y fwrite.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C]duda sobre struct y fwrite.  (Leído 2,555 veces)
Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
[C]duda sobre struct y fwrite.
« en: 2 Octubre 2014, 19:18 pm »

Hola a todos.
Bueno mi duda es la siguiente.
se puede pasar una estructura completa a un fichero usando fwrite o se tiene que pasar valor por valor.
por ejemplo tengo este código.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define NOM_FILE "datos.txt"
  5. struct personas{
  6. char nombre[20];
  7. char apellido[20];
  8. int edad;
  9. };
  10. int main(void)
  11. {
  12. struct personas vec[2];
  13. sprintf(vec[0].nombre, "%s", "juan");
  14. sprintf(vec[0].apellido, "%s", "rodrigez");
  15. vec[0].edad = 10;
  16.  
  17. sprintf(vec[1].nombre, "%s", "pedro");
  18. sprintf(vec[1].apellido, "%s", "gonzales");
  19. vec[1].edad = 20;
  20.  
  21. FILE *f1;
  22. if ((f1=fopen(NOM_FILE,"w")) == NULL)
  23. {
  24. perror(NOM_FILE);
  25. return EXIT_FAILURE;
  26. }
  27.  
  28. fwrite(vec[0].nombre,sizeof(char) ,strlen(vec[0].nombre),f1);
  29. fclose(f1);
  30.  
  31. return EXIT_SUCCESS;
  32. }
  33.  
como sería para imprimir toda la estructura en un fichero.
Espero me puedan ayudar.
Saludos.
Drewermec.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [C]duda sobre struct y fwrite.
« Respuesta #1 en: 2 Octubre 2014, 19:30 pm »

http://stackoverflow.com/questions/4155791/how-to-write-a-struct-to-a-file-using-fwrite

De todas formas, probar nunca está de más. Prueba a escribir y a leer, e irás viendo cómo es la salida y le antrada


En línea

Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: [C]duda sobre struct y fwrite.
« Respuesta #2 en: 2 Octubre 2014, 20:17 pm »

Hola ivancea96.
Gracias por responder y bueno ya habia provado de esa forma de poner:
Código
  1. fwrite(vec,sizeof(vec) ,1,f1);
  2.  

pero resulta que cuando abro el fichero me dice que hay un error en el fichero y si imprime los valores de la variables bien pero imprime todo el  largo del array algo así:

Código
  1. juan\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00
  2.  
y lo unico que si no imprime es la variable edad.
por eso preguntaba si se podia hacer .
Saludos.
Drewermerc.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [C]duda sobre struct y fwrite.
« Respuesta #3 en: 2 Octubre 2014, 20:23 pm »

Vamos a ver:
nombre es un arreglo de 20 caracteres. Los que no estén ocupados con "juan", estarán vacíos. Y esos elementos también serán escritos en el fichero.

Otra cosa: un int, no es "15684". Son 4 bytes, es decir, 4 caracteres. En el fichero, verás el int como caracteres.
En línea

Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: [C]duda sobre struct y fwrite.
« Respuesta #4 en: 2 Octubre 2014, 20:35 pm »

Entonces no hay una forma de solo imprimir los espacios ocupados de el array.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [C]duda sobre struct y fwrite.
« Respuesta #5 en: 2 Octubre 2014, 20:43 pm »

Imprimiendo miembro a miembro de la struct.
En línea

Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: [C]duda sobre struct y fwrite.
« Respuesta #6 en: 2 Octubre 2014, 20:45 pm »

Bueno yo me refería imprimiendo toda la estructura.
pero bueno ya quedo aclarada mi duda.
gracias ivancea96.
Saludos.
Drewermer.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con estructuras (struct)
Programación C/C++
alexis33de 1 2,580 Último mensaje 28 Agosto 2010, 03:41 am
por Littlehorse
Duda C Struct y función.
Programación C/C++
tvirus 6 6,092 Último mensaje 19 Octubre 2010, 23:02 pm
por tvirus
[SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?
Programación C/C++
Firos 0 5,019 Último mensaje 24 Marzo 2011, 13:47 pm
por Firos
consulta sobre Struct Array[] en C++
Programación C/C++
xkiz ™ 4 6,297 Último mensaje 1 Julio 2011, 00:02 am
por xkiz ™
Duda sobre lista de un typedef struct
Programación C/C++
Ccomplica 1 1,954 Último mensaje 1 Noviembre 2013, 22:02 pm
por m@o_614
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines