Mi a különbség C++-ban aközött ha cout-tal íratunk ki egy hibaüzenetet, vagy ha cerr-rel?
Figyelt kérdés
Végeredményben mindkettő ugyanúgy a parancssorba lesz írva, nem?#C++ #cerr
2017. ápr. 9. 06:26
1/4 tabaki válasza:
Nem értek hozzá, de feltételezem, hogy az egyik a standard kimenetre, a másik a hibacsatornára küldi az üzenetet. Az semmit sem jelent, ha alaphelyzetben mindkettő a konzolban jelenik meg. Gondolom, meg tudod adni, hogy ehelyett például fájlba vagy nyomtatóra írjon, akkor mindjárt nem muszáj azonosnak lennie a kimenetnek.
2/4 anonim válasza:
Szétválogathatóság miatt. Mehet az egyik a képernyőre, a másik fájlba, és nem lesz azonos a kettő. Vagy két külön fájlba.
3/4 anonim válasza:
Nem egészen. A cerr-t nem csak az elkülöníthetőség miatt szokás használni, hanem mert az nem bufferelt. Így pl ha cout-ra írsz, akkor addig nem látod a kimenetet, amég a buffert nem üríti, cerr-re pedig azonnal. Hibaüzenet közlésekor ez előny. Pl ha stdout-ra írnád a hibaüzit, a progi hibára fut, várakozik, de mivel a hibaüzenet bufferben van, ami még nem ürült, nem látod. Viszont stderr-re írva egybő látod.
4/4 anonim válasza:
Mondjuk ha csak ennyi lenne, akkor outputra is írhatnád flush()-al vagy std::endl-al.
Szóval inkább mindkettő.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!