Avatar billede smackers Nybegynder
21. november 2005 - 04:37 Der er 1 kommentar og
1 løsning

Txt file reading - forklaring søges

Jeg forstår ikke hvorfor output af nedenstående program er dette:

' a ' ' b ' ' c ' '[END]

jeg ville tro output skulle være:
' a '  ' b '  ' c ' [END]


=== kode ===
#include <iostream>
#include <fstream>

using namespace std;

int main() {
   
  ifstream fin;
  fin.open("sample.txt");

  char ch;
  while (!fin.eof()) {
      fin >>ch;
      cout <<ch<< " ";
  }
   
  getchar();    //hold untill key pressed
}


=== sample.txt ===
'a' 'b' 'c'[EOF]
Avatar billede bertelbrander Novice
21. november 2005 - 19:45 #1
eof() returnerer først true når du har forsøgt at læse ud over enden på filen.

Så du bør lave loopen:
  while (!fin.eof())
  {
      fin >>ch;
      if(!fin.eof())
        cout <<ch<< " ";
  }

Eller blot:
while(fin >> ch)
  cout << ch << " ";
Avatar billede smackers Nybegynder
25. januar 2007 - 00:01 #2
lukker..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester