Kezdőoldal » Számítástechnika » Programozás » Mi a hiba ebben a C++ kódrészl...

Mi a hiba ebben a C++ kódrészletben? [szövegfile olvasás, nagyon amatőr probléma]

Figyelt kérdés

Azt szeretném megoldani, hogy végigolvassa a filet karakterenként, és ha 'e' karaktert olvas be, utána egész számként olvasson a fileból int u, illetve int v változókba.

A szövegfile szerkezete valami ilyesmi:

c barmi

p barmi

c barmi akarmi mindegy

e 2 5

e 20 33

e 11 53

...


ifstrem fin("file.txt");

char c;

int u,v;

while (!fin.eof())

{

fin>>c;

cout<<c;

if (c=='e')

{

fin>>u;

fin>>v;

cout<<u<<", "<<v<<endl;

}

}



#hiba #C++ #szövegfile #szöveg feldolgozás
2014. márc. 21. 10:55
 1/4 anonim ***** válasza:
És mi a hiba?
2014. márc. 21. 10:59
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Pont ez az, hogy nem tudom :D

De valami miatt végtelen ciklusra jut, nem fut tovább, ha 'e' karaktert talál. (Ha kiveszem a karaktervizsgálatot, értelemszerűen szépen működik.)

2014. márc. 21. 11:06
 3/4 anonim ***** válasza:

"c barmi akarmi mindegy"

Mondjuk ebben a sorban nem csoda ha elszáll.

Kicsit jobban át kéne gondolni ezt.

2014. márc. 21. 14:50
Hasznos számodra ez a válasz?
 4/4 iostream ***** válasza:
100%
Azért száll el, mert a mindegy-ben van egy e-betű. Beolvassa azt, és utána próbál egy intet olvasni, ami nem fog menni neki (hiszen utána a string úgy kezdődik, hogy "gy..."). Ezzel a stream bad állapotba kerül (viszont nem eof), és kész is a végtelen ciklus.
2014. márc. 21. 15:25
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!