Bonjour,
J'ai fait une petite classe qui gère la base de données et une fonction qui récupère des données d'une base de données. Voici le code de ma fonction:
class database
{
private:
const char* filename;
streampos pos;
bool eof;
int load_amount;
int eof_error;
public:
database(const char* filename);
int save(char* name, double amount, double cash, int date, int month, int year, char* type);
int save(entry data);
entry load();
void clear();
bool is_eof();
~database();
};
et ma structure(entry)
struct entry
{
void write();
char name[26];
char type[10];
double amount;
double cash;
int month;
int date;
int year;
};
Mon problème, c'est que j'ai une fonction qui exécute load jusqu'à ce que db.is_eof() (ou db est un objet de type database) soit vrai. Mais il ne s'exécute toujours qu'une fois. Cela fait environ une semaine que j'essais de trouver le problème mais je ne trouves rien.
Quelqu'un saurait ce qui pourrait être la cause de cette erreure?
P.S. Quand je l'ouvre en debug je remarque souvent que database::pos._MyOff =-1 dès que la boucle s'est exécutée au moins une fois. Et quand j'écris les données j'obtiens
Nom|1|1|10|10|10|TypeNom