C++ Ouverture / Fermeture de fichiers
Résolu
zivodul8
Messages postés
229
Date d'inscription
Statut
Membre
Dernière intervention
-
zivodul8 Messages postés 229 Date d'inscription Statut Membre Dernière intervention -
zivodul8 Messages postés 229 Date d'inscription Statut Membre Dernière intervention -
Bonjour.
Voila j'ai un petit souci avec un programme en C++ au niveau de mes fichiers séquentiels. Le plus simple est de vous le montrer (^^) :
void Telecharger_Fichier ( char fiVehicule[TMAX], Vehicule Tab[TMAX], int &NbVehicules)
{
int i;
NbVehicules=0;
ifstream fichier(fiVehicule);
if (fichier.fail())
{
cout<<"Impossible d'ouvrir le fichier car le fichier est inexistant."<<endl;
exit(-1);
}
else
{
i=0;
fichier>> Tab[i].Immat;
fichier>> Tab[i].Marq;
fichier>> Tab[i].Annee;
fichier>> Tab[i].NbKm;
fichier>> Tab[i].NbPla;
fichier>> Tab[i].Coul;
fichier>> Tab[i].PrixE;
fichier>> Tab[i].Forf;
fichier>> Tab[i].Date.jour;
fichier>> Tab[i].Date.mois;
fichier>> Tab[i].Date.annee;
fichier>> Tab[i].Etat;
while(fichier.eof()==0)
{
i++;
fichier>> Tab[i].Immat;
fichier>> Tab[i].Marq;
fichier>> Tab[i].Annee;
fichier>> Tab[i].NbKm;
fichier>> Tab[i].NbPla;
fichier>> Tab[i].Coul;
fichier>> Tab[i].PrixE;
fichier>> Tab[i].Forf;
fichier>> Tab[i].Date.jour;
fichier>> Tab[i].Date.mois;
fichier>> Tab[i].Date.annee;
fichier>> Tab[i].Etat;
}
}
NbVehicules=i;
cout<<"\nLe parc contient "<<NbVehicules<<" vehicule(s).\n";
fichier.close();
}
Comme vous pouvez le voir, il s'agit d'une procédure qui copie un fichier séquentiel dans un tableau à 1 dimension. Mon problème est que quand je met un nom de fichier erroné, il ne m'affiche pas le message d'erreur ("Impossible d'ouvrir le fichier car le fichier est inexistant."). Problème identique lorsque je veux recopier mon tableau dans le fichier :S Par contre aucun souci lorsque je met le bon nom de fichier.
Si quelqu'un pouvait m'aider ça serait vraiment très sympa. Merci!
Voila j'ai un petit souci avec un programme en C++ au niveau de mes fichiers séquentiels. Le plus simple est de vous le montrer (^^) :
void Telecharger_Fichier ( char fiVehicule[TMAX], Vehicule Tab[TMAX], int &NbVehicules)
{
int i;
NbVehicules=0;
ifstream fichier(fiVehicule);
if (fichier.fail())
{
cout<<"Impossible d'ouvrir le fichier car le fichier est inexistant."<<endl;
exit(-1);
}
else
{
i=0;
fichier>> Tab[i].Immat;
fichier>> Tab[i].Marq;
fichier>> Tab[i].Annee;
fichier>> Tab[i].NbKm;
fichier>> Tab[i].NbPla;
fichier>> Tab[i].Coul;
fichier>> Tab[i].PrixE;
fichier>> Tab[i].Forf;
fichier>> Tab[i].Date.jour;
fichier>> Tab[i].Date.mois;
fichier>> Tab[i].Date.annee;
fichier>> Tab[i].Etat;
while(fichier.eof()==0)
{
i++;
fichier>> Tab[i].Immat;
fichier>> Tab[i].Marq;
fichier>> Tab[i].Annee;
fichier>> Tab[i].NbKm;
fichier>> Tab[i].NbPla;
fichier>> Tab[i].Coul;
fichier>> Tab[i].PrixE;
fichier>> Tab[i].Forf;
fichier>> Tab[i].Date.jour;
fichier>> Tab[i].Date.mois;
fichier>> Tab[i].Date.annee;
fichier>> Tab[i].Etat;
}
}
NbVehicules=i;
cout<<"\nLe parc contient "<<NbVehicules<<" vehicule(s).\n";
fichier.close();
}
Comme vous pouvez le voir, il s'agit d'une procédure qui copie un fichier séquentiel dans un tableau à 1 dimension. Mon problème est que quand je met un nom de fichier erroné, il ne m'affiche pas le message d'erreur ("Impossible d'ouvrir le fichier car le fichier est inexistant."). Problème identique lorsque je veux recopier mon tableau dans le fichier :S Par contre aucun souci lorsque je met le bon nom de fichier.
Si quelqu'un pouvait m'aider ça serait vraiment très sympa. Merci!
A voir également:
- C++ Ouverture / Fermeture de fichiers
- Explorateur de fichiers - Guide
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Page d'ouverture google - Guide
- Forcer fermeture application windows - Guide
4 réponses
L'erreur doit venir du premier if.
Je crois qu'il faut tester "if (!fichier.fail())" et non "if (fichier.fail())".
Cela devrait régler le problème.
Je crois qu'il faut tester "if (!fichier.fail())" et non "if (fichier.fail())".
Cela devrait régler le problème.
J'y ais cru un instant... Seul bémol maintenant, même quand je met le bon nom de fichier il m'écrit le message d'erreur "Impossible d'ouvrir le fichier car le fichier est inexistant." :S