bonjour a tous, voila j’ai une Cdtheque a faire en guise de dm en C++ sous Builder, et j’ai un petit souci quand a la lecture du fichier enregistrer (les cds sont enregistrer dans un fichier)
pour l’enregistrement :
[cpp]cd.setTitrecd(txfTitrecd->Text.c_str());
cd.setAchat(txfDate->Text.c_str());
cd.setDuree(txfDuree->Text.c_str()); // on enregistre les instances
cd.setGenre(txfGenre->Text.c_str());
cd.setInterprete(txfInterprete->Text.c_str());
cd.setNbmorceaux(txfNbmorceau->Text.c_str());
fstream outfile ("test.txt",ios::app | ios::out); // on declare un fichier de type fstream
if(outfile.good()) // si le fichier est bon
{
outfile<<cd.getInterprete()<<"||"<<cd.getTitrecd()<<"||"<<cd.getGenre() // on enregistre le flux dans le fichier
<<"||"<<cd.getNbmorceaux()<<"||"<<cd.getAchat()<<"||"<<cd.getDuree()<<endl;
outfile.close(); // on ferme le fichier
Form2->Close(); // on ferme la form
}
else
{
exit(0); // si c pas bon, on ferme "bourrin" le programme
}[/cpp]
et pour la lecture je fais comme suis :
[cpp] fstream fich (“test.txt”, ios::in);
if (fich.good())
{
AnsiString toto;
Edit2->Text = “Fichier bon”;
fich>>toto;
int i = toto.length();
Edit1->Text = i;
}
[/cpp]
et la il m’affiche que 17 caracteres alors que la chaine en comporte bien plus.
est ce que vous savez de quoi peut venir ce probleme? car j’ai essaier avec des string ou des char* et ca me fait toujour la meme chose…
merci de votre aide