Listo investigando mire que fprintf era para imprimir un texto deseado en el archivo. Así que probé con printf y funciono. Aqui dejo el codigo completo, por si luego alguien necesita la solucion.
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio2.h>
struct {
char producto[20];
int codigo;
float precio;
} inventario, *p_inv;
struct {
char producto[20];
int codigo;
float precio;
} inventario2;
struct {
int opcion;
int productos;
int i;
} datos;
void menu(){
printf("\n\nMenu:\n=====\n\n"); printf("1.- Agregar a inventario\n"); printf("2.- Leer inventario\n"); FILE *meter, *leer;
switch (datos.opcion){
case '1':
meter
= fopen("DB/inventario.db", "a"); printf("\nCuantos productos deseas agregar: "); scanf("%i", &datos.
productos); for (datos.i = 0 ; datos.i < datos.productos ; datos.i++){
printf("Introduce el nombre del producto: "); fflush(stdout
); scanf("%s", &inventario.
producto); printf("Introduce el codigo del producto: "); fflush(stdout
); scanf("%i", &inventario.
codigo); printf("Introduce el precio del producto: "); fflush(stdout
); scanf("%f", &inventario.
precio); fwrite(&inventario
, sizeof(inventario
), 1, meter
);} break;
case '2':
leer
= fopen("DB/inventario.db", "r"); if (fread (&inventario
, sizeof(inventario
), 1, leer
)){ printf("%s %i %f", inventario.
producto, inventario.
codigo, inventario.
precio);}} break;
}
}
int main(){
menu();
return 0;
}