Kezdőoldal » Számítástechnika » Programozás » Van különbség C++ban aközött...

Van különbség C++ban aközött hogy COUT-tal vagy PRINTF-el írunk ki valamit a képernyőre? Melyiket érdemes használni s miért?

Figyelt kérdés
2012. márc. 13. 20:26
 1/3 anonim ***** válasza:

Ha printf-et használsz, akkor formátumkódokkal kell megspékelned az üzeneted:

printf(''Valami szöveg ennyi: %d'', n);

ahol n tízes számrendszerbeli egész szám.

Ellenben couttal:

cout << ''Valami szöveg ennyi:'' << n;

nem kellenek kódok, egyszerűbb használni.

2012. márc. 13. 21:10
Hasznos számodra ez a válasz?
 2/3 pacsi válasza:
a cout-os megoldás újabb, mivel a C++-ban jelent meg, a printf-es meg régebbi, mivel C-ből származik. Szerintem mindakettő elég általános, de néha valamit egyszerűbb egyikkel megcsinálni mint a másikkal. Szokás kérdése, hogy melyiket használod. Végeredményükben nincs különbség, vagyis ugyanazokat a feladatokat tudod megcsinálni mindkettővel. Szerintem printf-fel jobban lehet formázni. pl %f-t kiterjesztheted, úgy hogy %5.2f meg ilyenek.
2012. márc. 13. 22:48
Hasznos számodra ez a válasz?
 3/3 iostream ***** válasza:

A printf a cstdio könyvtár része, egy függvény, a cout pedig az iostream könyvtárban megadott ostream típusú objektum.

Használatban az a legnagyobb különbség, hogy a printf nem típusbiztos, azt adsz meg neki, amit akarsz:

double d = 3.14;

printf("pi: %d\n", d);


Ez így hibás eredményt fog kiadni.

A cout típusbiztos, mindig az az operator<< fog meghívódni, amelyik kell. Formázási lehetőségekben eltérnek kicsit, printf-nél a %-os bűvészkedés van, cout-nál manipulátorok beadásával lehet búgatni.


A másik dolog, a szinkronizálás. Ugye a printf és a cout is pufferel, és ugyanarra a csatornára írnak, ez okozhatna gondot. Alapból tudtommal szinkronizálnak, tehát nem fog keveredni az írás, de ezt ki lehet kapcsolni. Ne kapcsold ki, és akkor nincs gond a keverésükkel.

2012. márc. 14. 10:08
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!