C ++ Perustulo / -lähtö: Cout, Cin, Cerr Esimerkki

Sisällysluettelo:

Anonim

Mitä virrat ovat C ++: ssa?

C ++ tarjoaa käyttäjille useita kirjastoja, joita he voivat käyttää syöttö- ja tulostustehtävien suorittamiseen. Nämä tehtävät suoritetaan tavusekvenssien muodossa, joita kutsutaan yleisesti virtauksiksi.

Virrat on jaettu kahteen:

Virtatyypit

  • Input Stream: Tämä on virtatyyppi, jossa tavut virtaavat laitteesta, kuten näppäimistöltä, päämuistiin.
  • Lähtövirta: Tämä on virtatyyppi, jossa tavut virtaavat vastakkaiseen suuntaan, toisin sanoen päämuistista sitten laitteeseen, kuten näyttöruutuun.

Tässä C ++ -opetusohjelmassa opit:

  • Mitä virrat ovat C ++: ssa?
  • Kuinka virrat toimivat?
  • Toimintotaulukko
  • C ++ -otsikkotiedostot tuloa / lähtöä varten
  • vakio :: cout
  • vakio :: cin
  • vakio :: cerr
  • std :: tukkia
  • Virhe IO-virtojen käsittelyssä:

Kuinka virrat toimivat?

C ++ -virrat toimivat seuraavasti:

  1. Ensinnäkin virta alustetaan oikealla tyypillä.
  2. Seuraavaksi sinun tulisi ilmoittaa missä I / O tapahtuu käyttämällä get / put-osoittimia.
  3. Saatuasi oikeaan paikkaan virrassa voit suorittaa syöttö- ja tulostustehtäviä vastaavasti >> ja << operaattoreilla.

Toimintotaulukko

Seuraavat ovat stream.h-otsikkotiedoston toiminnot:

Luokka Toiminnot
Filebuf Se asettaa tiedostopuskurit lukemaan / kirjoittamaan. Siinä on lähellä () ja avoin () toimintoja
fstreambase Se on luokkien perusluokka ifstream, fstream jastream. Sen toiminnot ovat yhteisiä tiedostovirroille.
ifstream Se on syötetiedostovirran luokka syöttötoimintojen tarjoamiseksi.
ylävirtaan Se on ulostulotiedostovirran luokka tulostustoimintojen tarjoamiseksi.
virtaus Se on tulo- / lähtövirran luokka. Se tukee samanaikaisia ​​tulo- / lähtöoperaatioita.

C ++ -otsikkotiedostot tuloa / lähtöä varten

C ++ tarjoaa kolme kirjastoa, joissa on toimintoja perus- ja lähtötehtävien suorittamiseen. Ne sisältävät:

  • Iostream: Se on lyhenne tavallisesta tulo- / lähtövirrasta. Tämä otsikkotiedosto sisältää määritelmät kohteille, kuten cin / cout / cerr.
  • Iomanip: Se on lyhenne tulo- / lähtö manipulaattoreille. Kirjastossa on toimintoja, joita voidaan käyttää virtojen käsittelyyn. Se sisältää määritelmiä kohteille kuten setw, setprecision ja muille.
  • Fstream: Tämä on otsikkotiedosto tiedostovirran kuvaamiseen. Se käsittelee tietoja, jotka luetaan tiedostosta syötteinä tai jotka kirjoitetaan tiedostoon, lähtöön.

Cin- ja cout-avainsanat ovat erittäin suosittuja C ++: ssa. Niitä käytetään vastaavasti syötteiden ottamiseen ja tulostusten tulostamiseen. Jotta voit käyttää niitä, sinun on sisällytettävä iostream-otsikkotiedosto ohjelmaasi. Syynä on, että ne on määritelty kyseisessä otsikkotiedostossa. Iostream-otsikkotiedoston sisällyttämättä jättäminen aiheuttaa virheen. Tämä johtuu siitä, että C ++-kääntäjä ei ymmärtänyt avainsanojen merkitystä.

Iostream-otsikkotiedostossa määritellyt tärkeimmät objektit ovat cin, cout, cerr ja clog. Keskustellaan heistä.

vakio :: cout

Cout-objekti on iostream-luokan esiintymä. Sitä käytetään tuotoksen tuottamiseen tavalliselle lähtölaitteelle, joka on yleensä näyttö. Sitä käytetään yhdessä stream-lisäysoperaattorin (<<) kanssa.

Esimerkki:

#include using namespace std;int main() {char welcome[] = "Welcome to Guru99";cout << welcome << endl;return 0;}

Tuotos:

Tässä on kuvakaappaus koodista:

Koodin selitys:

  1. Sisällytä iostream-otsikkotiedosto, jossa cout-objekti on määritetty.
  2. Sisällytä vakio nimitila, jotta meidän ei tarvitse kutsua sitä luokkia käytettäessä.
  3. Kutsu main () -toiminto. Ohjelmakoodi tulisi lisätä sen runkoon. Avautuva kihara ahdin {merkitsee sen rungon alkua.
  4. Luo merkkimuuttuja nimeltä Welcome, jotta pidät merkkijonoa Welcome to Guru99.
  5. Tulosta merkkijonon tervetuloa arvo konsolille. Endl on C ++ -avainsana, joka tarkoittaa loppuriviä. Se siirtää kohdistinta aloittaaksesi tekstin tulostamisen seuraavalle riville.
  6. Ohjelman on palautettava arvo suorituksen jälkeen.
  7. Funktion rungon pää main ().

vakio :: cin

Cin-objekti on istream-luokan esiintymä. Se lukee syötteen syöttölaitteelta, näppäimistöltä. Sitä käytetään normaalisti yhdessä uuttamisoperaattorin (>>) kanssa. Puraobjekti on vastuussa näppäimistön kautta syötettyjen tietojen purkamisesta cin-objektista.

Esimerkki:

Seuraava esimerkki osoittaa, kuinka cin-avainsanaa käytetään C ++: ssa:

#include using namespace std;int main(){int number;cout << "Enter a number:";cin >> number;cout << "\nYou entered: " << number;return 0;}

Tuotos:

Tässä on kuvakaappaus koodista:

Koodin selitys:

  1. Sisällytä iostream-otsikkotiedosto ohjelmaamme. Cin-objekti on määritelty tässä otsikkotiedostossa.
  2. Sisällytä vakio nimitila käyttääksesi luokkia. Sinun ei tarvitse kutsua standardia, kun käytät sen luokkia.
  3. Kutsu main () -toiminto. Ohjelmakoodi tulisi lisätä sen runkoon.
  4. Ohjelman rungon alku.
  5. Ilmoita kokonaisluku muuttuja nimeltä numero.
  6. Tulosta näytölle viesti, jossa käyttäjää kehotetaan syöttämään numero.
  7. Lue käyttäjän kirjoittama arvo konsolille näppäimistöltä.
  8. Tulosta edellä lueteltu arvo konsolille muun tekstin rinnalle.
  9. Ohjelman tulisi palauttaa arvo, jos se suoritetaan onnistuneesti.
  10. Päätoiminnon rungon pää.

vakio :: cerr

Cerr-objekti muodostaa standardivirhevirran virheiden tulostamiseen C ++: ssa. Cerr on ostream-luokan esiintymä. Cerr-objekti on puskuroimaton. Tämä tarkoittaa, että sitä käytetään, kun virheilmoitus on tarkoitus näyttää välittömästi.

Koska sitä ei ole puskuroitu, se ei tallenna virheilmoitusta myöhempää näyttöä varten. Sitä käytetään yhdessä stream-lisäysoperaattorin (<<) kanssa.

Esimerkki:

#include using namespace std;int main() {cerr << "An Error occurred!";return 0;}

Tuotos:

Tässä on kuvakaappaus koodista:

Koodin selitys:

  1. Sisällytä iostream-otsikkotiedosto, jossa cerr-objekti on määritetty.
  2. Sisällytä vakio nimitila, jotta meidän ei tarvitse kutsua sitä luokkia käytettäessä.
  3. Kutsu main () -toiminto. Ohjelmalogiikka tulisi lisätä sen runkoon. Avautuva kihara ahdin merkitsee toiminnon rungon alkua.
  4. Tulosta virhe konsolille cerr-objektin avulla.
  5. Ohjelman on palautettava arvo suorituksen jälkeen.
  6. Päätoiminnon rungon pää.

std :: tukkia

Clog-objekti on ostream-luokan esiintymä. Sitä käytetään virheiden näyttämiseen vakionäytössä, näytössä. Se on samanlainen kuin cerr-objekti, mutta se on puskuroitu. Koska se on puskuroitu, se tallentaa virheilmoituksen puskuriin, kunnes puskuri on täytetty / huuhdeltu. Sitä käytetään yhdessä stream-lisäysoperaattorin (<<) kanssa.

Esimerkki:

#include using namespace std;int main() {clog << "An Error occurred!";return 0;}

Tuotos:

Tässä on kuvakaappaus koodista:

Koodin selitys:

  1. Sisältää iostream-otsikkotiedoston, jossa tukosobjekti on määritelty.
  2. Sisältää tavallisen nimitilan, jotta voimme käyttää sen luokkia kutsumatta sitä.
  3. Päätoiminnon () kutsuminen. Ohjelmalogiikka tulisi lisätä sen runkoon. {Tarkoittaa funktion rungon alkua.
  4. Tulosta virhe-esineellä virhe normaalilähtöön, näyttöön.
  5. Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
  6. Funktion rungon pää main ().

Virhe IO-virtojen käsittelyssä:

Voit tarkistaa, onko virta kelvollinen, käyttämällä sitä loogisena tietona.

Tässä on esimerkki:

ifstream file( "myfile.txt" );if ( ! file ){cout << "File NOT opened!" << endl;}

Saat lisätietoja virran tilasta käyttämällä näitä toimintoja:

  • hyvä () - palaa totta, jos kaikki on kunnossa.
  • huono () - palauttaa arvon tosi, jos tapahtuu kohtalokas virhe.
  • Fail () - palaa tosi epäonnistuneen suoratoiston jälkeen.
  • eof () - palauttaa arvon true, jos se saavuttaa tiedoston loppuun.

Testaa lukutulos, jotta tiedät, onnistuiko tietty luku- / kirjoitusoperaatio.

Voit esimerkiksi tarkistaa, onko käyttäjä kirjoittanut kelvollisen kokonaisluvun, seuraavasti:

int p;if ( cin >> p ){cout << "Enter valid number" << endl;}

Yhteenveto

  • Syöttö- ja tulostustehtävät C ++: ssa suoritetaan tavusekvenssin kautta. Tavuja kutsutaan virroiksi.
  • Syöttövirrassa tavut virtaavat syöttölaitteesta kuin näppäimistö päämuistiin.
  • Lähtövirrassa tavut päämuistista sitten lähtölaitteeseen kuten näyttö.
  • Cin-objekti on istream-luokan esiintymä. Se lukee syötteen syöttölaitteelta, kuten näppäimistöltä.
  • Cout-objekti on ostream-luokan esiintymä. Se tuottaa ulostuloa lähtölaitteille, kuten monitorille.
  • Cerr-objekti on ostream-luokan esiintymä. Se näyttää virheobjektit näytöllä.
  • Clog-objekti on ostream-luokan ilmentymä. Se näyttää virheilmoitukset lähtölaitteissa.
  • Tukosobjekti puskuroi virhesanomia, kun taas cerr-objekti ei.