Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/08/2010, 17:15
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Error con la función fwrite.

Cita:
Iniciado por sam90 Ver Mensaje
fread es para leer archivos, como vos lo que haces es escribir el archivo de una, para leer el inventario debes leer el archivo.

No te compliques con itoa, puedes usar fprintf(db,"%d",variable); con eso ya se imrpime como digitos en el archivo.

Como dije antes, no hace faltas uqe lo conviertas, si solo quieres poder leerlo desde tu programa.
Ah buenísimo a eso me refería, yo lo hice de la siguiente manera:

Código C:
Ver original
  1. void menu(){
  2.     printf("\n\nMenu:\n=====\n\n");
  3.     printf("1.- Agregar a inventario\n");
  4.     printf("2.- Leer inventario\n");
  5.     printf("3.- Salir \n\n");
  6.     printf("Escoge una opcion: ");fflush(stdout);
  7. datos.opcion = getch();
  8. FILE *meter, *leer;
  9.  
  10. switch (datos.opcion){
  11.     case '1':
  12.     meter = fopen("DB/inventario.db", "r");
  13.     printf("\nCuantos productos deseas agregar: ");
  14.     scanf("%i", &datos.productos);
  15. for (datos.i = 0 ; datos.i < datos.productos ; datos.i++){
  16.     printf("Introduce el nombre del producto: "); fflush(stdout);
  17.     scanf("%s", &inventario.producto);
  18.     printf("Introduce el codigo del producto: "); fflush(stdout);
  19.     scanf("%i", &inventario.codigo);
  20.     printf("Introduce el precio del producto: "); fflush(stdout);
  21.     scanf("%f", &inventario.precio);
  22.     fwrite(&inventario, sizeof(inventario), 1, meter);
  23.     fclose (meter);
  24.     break;
  25.     case '2':
  26.     leer = fopen("DB/inventario.db", "w");
  27.     fprintf(leer, "%s", inventario.producto);
  28.     fclose (leer);
  29.     break;

Pero al final no me muestra lo del archivo.