Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/08/2010, 17:33
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
que te muestra eso?? solo la primer palabra, no?
No, hay no tena la función fread. Ahora lo tengo así, y mete los datos, pero cuando apretó la segunda opción me borra todo lo que esta dentro del archivo y no muestra nada.
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", "a");
  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.     fread (&inventario, sizeof(inventario), 1, leer);
  28.     fprintf(leer, "%s", inventario.producto);
  29.     fclose (leer);
  30.     break;
  31. }
  32. }