[C++] Probleme de lecture d'un fichier

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

up plz, personne ne voit d’ou ca peut venir ?

tu as vérifié les données après écriture dans ton fichier ?

en faite ca vient du faite que fstream arrete d’ecrire le flux qd il trouve un espace!