Mon code est en cours d'exécution mais il ne peut pas lire la sortie du fichier binaire que j'ai entré. Cela a donné une valeur de déchet. Le programme est conçu pour permettre à un utilisateur de choisir une option.Impossible de lire le fichier binaire en C++
Pour ajouter un élément et l'écrire dans un fichier binaire.
Afficher une sortie du fichier binaire qui a été lu.
Une aide?
#include <iostream>
#include <fstream>
using namespace std;
struct info
{
char name[50];
int price, quantity;
};
void AddItem(info item)
{
cin.ignore();
cout<<"Enter the following data about an item: \n";
cout<<"Item name: ";
cin.getline(item.name,50);
cout<<"Price per item: RM";
cin>>item.price;
cout<<"Quantity: ";
cin>>item.quantity;
}
void DisplayItems(info item)
{
cout<<"Item name: "<<item.name<<endl;
cout<<"Price per item: "<<item.price<<endl;
cout<<"Quantity: "<<item.quantity<<endl;
}
int main()
{
info item;
int option;
char again;
cout<<"1. Add new item in the product file\n";
cout<<"2. Display all items\n";
cout<<"3. Exit\n";
cout<<"select option: ";
cin>>option;
if(option==1)
{
fstream file("report.dat", ios::out|ios::binary);
do
{
AddItem(item);
file.write(reinterpret_cast<char*>(&item), sizeof(item));
cout<<"Do you want to enter another record? (Y/N): ";
cin>>again;
}
while(again=='Y'||again=='y');
}
if(option==2)
{
fstream file("report.dat", ios::in|ios::binary);
if(!file)
{
cout<<"Error in opening the file!";
return 0;
}
file.read(reinterpret_cast<char*>(&item),sizeof(item));
while(!file.eof())
{
DisplayItems(item);
file.read(reinterpret_cast<char*>(&item),sizeof(item));
}
file.close();
}
if(option==3)
{
cout<<"Exit";
return 0;
}
return 0;
}
Voici comment ma sortie ressemble:
Que voulez-vous dire par «je ne peux pas lire dans le fichier»? Est-ce qu'il affiche 'Erreur lors de l'ouverture du fichier!'? –
Que voulez-vous dire par "il a donné une valeur de déchets"? Voilà à quoi ressemble le contenu des fichiers binaires ... – Psi
@AnthonyD. vous pouvez vous référer à l'image ci-jointe. l'écran de sortie suppose de donner une valeur est-il? –