Stringstream-be olvasnék be adatot. Különbséget tudok tenni aközött, hogy rossz az adat formátuma, van beolvasott adat, illetve üres a string, azaz hiányzik az adat?
valójában 2 vagy három adat van:
ss << x1 << x2 << x3;
nem tudom, hogyha a harmadik hiányzik akkor mi van
Olyat lehet hogy volt e hiba a beolvasás során: iss.good()
Mondjuk a beolvasást egyesével iss >> x1; ... és good()-al ellenőrizni, így tudod hogy hol volt vmi hiba.
Nem lehet olyan kifinomultan kezelni, ha van egy hiba akkor meghülyül ha tovább olvasol belőle, az meg nem derül ki hogy mi volt a hiba, olyan adatokon kell használni amiről előre biztosított hogy jó.
Ha meg ellenőrizni akaruk amiket te írtál akkor meg C-s függvényekhez kell folyamodni pl sscanf, ha meg nem ismeri az sscan-f akkor egyéb trükköket bevetve kell megoldani.
Az iss.fail() milyen esetben dob hibát?
Ha mondjuk előjel nélküli egészet akarok olvasni, akkor melyik jelez hibát:
- ha van egy negatív előjel az egész előtt?
- ha betű jön, de utána egy egész szám?
- ha egész szám jön, de utána tizedes pont?
- ha nem jön semmi, vagy csupa szóköz karakter?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!