Användarprofil

Uppgifter
Användarnamn
Email
Besök -
Hemsida Ingen
Plats (stad)
Senaste besök 01:00 - 1:a Januari 1970
Poster i forumet
Varningar
Grupp
Medlem sedan 01:00 - 1:a Januari 1970
Artiklar och filer
Den här användaren har inga artiklar eller filer

Avatar


Presentation av

Den här användaren har inte skapat någon personlig presentation.

Senaste inläggen i forumet

c++, strömmar som inte vill flyta rätt
Dho, tack för svaret, men jag kom på felet. Hade glömt att meddela strömmen att det var en binär fil vi lekte med.
  1. istream_ptr->open(filename, ios_base::in | ios_base::binary);

Att det ens fungerade fram till 26 är för mig rätt mystiskt.

Postad 15:35 - 31:a December 2008
c++, strömmar som inte vill flyta rätt
Hejsan, har stött på ett konstigt problem som jag hoppas att ni kan skina lite ljus på.

  1. ifstream *istream_ptr = new ifstream;
  2. istream_ptr->open(filename, ios_base::in);
  3. f(istream_ptr->is_open())
  4. {
  5. istream_ptr->seekg(0,ios::beg);
  6.  
  7. istream_ptr->read((char *) &nr_of_entrys, sizeof(int));
  8. r->clear();
  9. ....

Kodens uppgift här är att läsa in lite meta-data till programmet (som är en databas-hanterar-klass-sak) när det startar upp.

nr_of_entrys uppdateras vaje gång programmet avslutas.
Problemet är att när nr_of_entrys övergår 26 så vägrar ifstream att läsa och sätter badbit.
"This flag is set by standard input operations when an error that caused the loss of integrity of the stream happened."

,,r säker på att filen är rätt formaterad och fungerar, problemet ligger i läsningen.
Vad sjutton kan detta bero på, kanske ska man inte använda new med ifstream-objekt?

Postad 01:58 - 31:a December 2008

Skicka meddelande
Läs s blog