[C++] fstream probleempje (ook: fstream vs. stdio)

Pagina: 1
Acties:

  • Hillie
  • Registratie: Januari 2000
  • Laatst online: 21:56

Hillie

Poepen = ultieme ontspanning

Topicstarter
Ik heb een klein probleempje in C++ met een fstream (ifstream, om precies te zijn, maar dat maakt niet zoveel uit).

Allereerst stukjes uit m'n code, gevolgd door de probleembeschrijving.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
...
...
...
ifstream inputFile(fileName);

//retrieve data from file
if(inputFile.good())
{
     //code om aantal karakters te tellen.

     inputFile.seekg(0); 
     inputFile.clear();

     //code om de karakters te verwerken.
}
...
...
...

Het probleem is nu dat de inputFile.seekg(0) de pointer helemaal niet terugzet op positie 0 in de file, ondanks het feit dat de hulp van Borland C++ Builder 5 (welke ik gebruik) dit wel meldt. (Uitgevonden door es wat breakpoints te zetten tijdens het debuggen en lokale variabelen door te spitten.)

Als ik nu, in plaats van een ifstream-object, de stdio.h include en gebruik, dan werkt rewind wel. Is er iets dat ik fout doe? Die inputFile.clear() heb ik er extra bijgezet (is om wat flags te clearen), maar zonder werkt het ook niet. De oplossing is ongetwijfeld erg voor de hand liggend en van een hoog |:(-gehalte, maar ach. :)


Iets anders: Wat is nu een 'betere' of 'nettere' oplossing om te gebruiken, fstream-objecten, of de ouderwetse stdio.h? M'n voorkeur gaat naar de eerste uit, omdat ik een fan ben van object georienteerd proggen. Maar graag meningen hierover.

En eenieder die naar m'n probleem wil kijken: Alvast bedankt! :)

Liefhebber van schieten en schijten. Ouwehoer en niet-evangelisch atheist.

Daniel36: Dat zeg ik(?) Nee, dat zeg ik niet, je hebt gelijk.


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
volgens mij moet seekg(0, iobase::beg) wel werken.

lees dit maar eens goed door. de seekg-functie met 1 parameter verwacht een streampos object. jij geeft 0 (null) op, dus doet ie niet veel.

  • Hillie
  • Registratie: Januari 2000
  • Laatst online: 21:56

Hillie

Poepen = ultieme ontspanning

Topicstarter
Cool, bedankt! cplusplus.com is idd erg goed. Die help bij ifstream (in C++builder) blonk nou niet echt uit in duidelijkheid. :)

Liefhebber van schieten en schijten. Ouwehoer en niet-evangelisch atheist.

Daniel36: Dat zeg ik(?) Nee, dat zeg ik niet, je hebt gelijk.