Peter Skjelbo, eaid.dk skrev:
> Hej,
>
> Så er den gal igen med VC++ 6.0 - og min kunnen... Jeg har et program der
> skriver og læser til en logfil. Jeg kan læse fra logfilen een gang,
> hvorefter systemet reagerer på fail(). Jeg går ud fra at jeg mangler en
> close et sted, men synes jeg har forsøgt mange muligheder, incl.
> groups.google.com.
> Kun den nødvendige funktion samt o- og ifstream er indsat.
>
> ofstream fil1;
> ifstream file ("log.txt");
>
> void show_log(){
> bool continue = true;
> system("cls");
> int i;
> if (file.fail())
> {
> cout<<"\n\n*** Fejl: Der er ikke oprettet en log-fil ***\n\n";
> } else {
> char buffer[200];
> while (! file.eof() && continue)
> {
> cout<<"\n\nDato\t\tTid\t\tEtage\tBelastning [g]";
> for (i=0;i<20;i++)
> {
> file.getline (buffer,100);
> cout<<"\n"<<buffer;
> if (file.eof())
> i=20;
> }
> cout<<"\nTryk på en vilkårlig tast for at fortsætte eller x
> for at afslutte"<<endl;
> while (!kbhit()){
> //Wait
> }
> char noop = getch();
> if (noop=='x'|| noop=='X')
> continue = false;
> }
> }
> file.close();
> }
Du kan ikke læse fra filen efter at du har lukket (file.close()) den.
Så jeg vil forelså at du åbner (file.open("log.dat")) filen i starten
af funktionen & lukker den i slutningen af funktionen.
Som det er nu åbnes filen nå programmet starter, og den bliver lukket
første gang programmet kører, næste gang funktionen kaldes er filen
ikke åben så du kan ikke læse fra den.
/bertel
--
Bertel Brander, author of Wain, a free texteditor for programmers:
http://home20.inet.tele.dk/midgaard/program.htm