Bonjour !
Je développe une application en mode console en C++.
Voici le thème : je veux gérer des clients qui réalisent plusieurs abonnements à un magazine.
J'ai donc créé une classe C_client et une classe C_abonnement.
Lors du chargement de l'application, je souhaite lire un fichier dans lequel je stocke les données. Pour cela, je voudrais placer dans un tableau tabClient de type C_client, au lancement de l'application, toutes les données relatives à chaque client (nom, prenom, etc.)
Pour ce qui est du chargement, voici ma fonction actuelle :
void chargeClient()
{
monFichier = fopen("abonnements.txt", "r+"); //ouverture du fichier en lecture
if (monFichier == NULL)
{
cout << "Erreur d'ouverture du fichier Abonnements." << endl;
}
else
{
int i;
for (i=0;i<MAXIMUM;i++)
{
tmp = fread(&clientEnCours, sizeof(clientEnCours), 1, monFichier); // on lit une ligne par une ligne
if (!tmp) // si la ligne est vide
{
cout << "Erreur de lecture." << endl;
}
else
{
tabClient[i] = clientEnCours;
};
};
fclose(monFichier); // fermeture du fichier
};
};
Et pour l'enregistrement :
void enregFichier()
{
//int i;
// si le fichier est lisible...
if ( is_readable( "abonnements.txt" ) )
{ // ...alors on écrit dedans en effacant tout
std::ofstream file("abonnements.txt");
for (int i=0; i<MAXIMUM; i++)
{
file << tabClient[i] << endl;
};
file.close();
};
};
Pour plus de précisions, vous pouvez regarder ce post ou bien télécharger le script des fichiers .cpp et .h ici.
Merci de votre aide.