OVH Cloud OVH Cloud

borland c++6 ifstream ofstream

1 réponse
Avatar
fontaine jean paul
bonjour,
j'ai un petit probleme de lecture de fichier avec ce programme
1) j'ouvre un fichier (qui n'existe pas sur disque dur) et je verifie si
il existe dans
void __fastcall Tnote::voirsifichier(char *nomfichier)
2) commme il n'existe pas je le cree par un ofstream et je ferme l' ofstream
3) j'ecris des donnees dans un tableau et enregistre ces donnee par
ifstream dans
void __fastcall Tnote::enregistrer1Click(TObject *Sender)
4)je verifie si les donnees ont bien été enregistrée avec l'explorateur
windows Ok
5)j'essaie de reouvrir le meme fichier dans
void __fastcall Tnote::voirsifichier(char *nomfichier) et le
programme me dis
ShowMessage("existe mais 0 octet");
6) je ferme tout et je reboote le programme la il trouve le fichier avec
les donnée

ma questions comment faut il faire pour que le programme reconnaise
directement le fichier
????


namespace noteaim
{

AnsiString chartostring=""
char *nomfile;
long indexhaut;
fstream fnoteaim ;
ofstream ofnoteaim ;
ifstream ifnoteaim ;
};


void __fastcall Tnote::voirsifichier(char *nomfichier)
{
using namespace noteaim;
//voir si fichier existe
chartostring=nomfichier;
nomfile=nomfichier;
ifnoteaim.open(nomfile);
if (ifnoteaim.is_open());
else
{
ShowMessage("n'existe pas sur le disque dur");
// creer
ofnoteaim.open(nomfile);
ofnoteaim.close();
ifnoteaim.open(nomfile);
};

if (ifnoteaim.is_open())
{
ifnoteaim.seekg(0,ios::end);

indexhaut=ifnoteaim.tellg();
if (indexhaut>0)
{ //misenetableau des valeurs enregistrée puis fermeture
du fichier
ifnoteaim.close();
}
else ShowMessage("existe mais 0 octet");

}
else
{
}
ifnoteaim.close();
}


void __fastcall Tnote::enregistrer1Click(TObject *Sender)
{
fin = note->StringGrid1->RowCount
using namespace noteaim;
nomfile=chartostring.c_str();
ofnoteaim.open(nomfile);

do
{
try
{
//enregistrements du tableau
}
catch(...){ShowMessage("erreur ecriture");};
tour++;
}
while (tour<fin);
ofnoteaim.close();
}


}

1 réponse

Avatar
Samuel Krempp
le Friday 24 September 2004 21:58, écrivit :

bonjour,
j'ai un petit probleme de lecture de fichier avec ce programme
1) j'ouvre un fichier (qui n'existe pas sur disque dur) et je verifie si
il existe dans
void __fastcall Tnote::voirsifichier(char *nomfichier)
2) commme il n'existe pas je le cree par un ofstream et je ferme l'
ofstream 3) j'ecris des donnees dans un tableau et enregistre ces donnee
par ifstream dans
void __fastcall Tnote::enregistrer1Click(TObject *Sender)
4)je verifie si les donnees ont bien été enregistrée avec l'explorateur
windows Ok
5)j'essaie de reouvrir le meme fichier dans
void __fastcall Tnote::voirsifichier(char *nomfichier) et le
programme me dis
ShowMessage("existe mais 0 octet");
6) je ferme tout et je reboote le programme la il trouve le fichier avec
les donnée

ma questions comment faut il faire pour que le programme reconnaise
directement le fichier
????


est-ce que tu peux joindre une fonction main qui présente précisément ce que
ton programme fait ?
l'idéal serait que le code cité soit complet et compile comme un bon petit
prog en C++ standard. ce serait alors plus simple pour les lecteurs de se
pencher sur ton problème.

--
Sam