Avainero – getc vs getchar
Funktio on joukko lauseita tietyn tehtävän suorittamiseksi. Ohjelmoinnissa käyttäjä voi määritellä funktionsa tai käyttää ohjelmointikielen tarjoamia toimintoja. C-kielessä on useita toimintoja, joten ohjelmoija voi käyttää niitä suoraan koodauksessa toteuttamatta niitä alusta alkaen. On olemassa muutamia toimintoja, jotka liittyvät merkkien lukemiseen. Kaksi niistä on getc ja getchar. Keskeinen ero getc:n ja getcharin välillä on, että getc:tä käytetään lukemaan merkki syöttövirrasta, kuten tiedostosta tai vakiosyötteestä, kun taas getcharilla lukee merkki vakiosyötteestä. Tässä artikkelissa käsitellään näiden kahden funktion eroa.
Mikä on getc?
Se on toiminto, jota käytetään lukemaan merkki syöttövirrasta, kuten tiedostosta tai näppäimistöstä. Se palauttaa vastaavan kokonaisluvun onnistumisen yhteydessä. Getc:n syntaksi on int getc(Tiedosto virta). Katso alla oleva esimerkki. Oletetaan, että test.txt on pelkkä tekstitiedosto projektihakemistossa. Tässä tiedostossa on kaksi merkkiä, jotka ovat "a" ja "b".
Kuva 01: Tiedoston merkkien lukeminen käyttämällä getc
Yllä olevan ohjelman mukaan testitiedosto avataan lukutilassa. Sitten ensimmäinen merkki luetaan getc-funktiolla ja tallennetaan muuttujaan c1. printf-lauseen tulos c1. Sitten toinen merkki luetaan ja tallennetaan muuttujaan c2. printf-lauseen tulos c2. Siksi getc-funktiota käytetään merkin lukemiseen virrasta, kuten tiedostosta.
Kuva 02: Merkkien lukeminen tiedostossa getc:n ja silmukan avulla.
Sitä voidaan käyttää silmukan kanssa kaikkien merkkien lukemiseen, yksi kerrallaan, kunnes se saavuttaa tiedoston loppuun (EOF), kuten edellä. Test.txt-tiedoston kaksi merkkiä näkyvät näytöllä.
Mikä on getchar()?
getchar() käytetään merkin lukemiseen vain vakiosyötteestä. Se odottaa, kunnes Enter-näppäintä painetaan ja lukema näkyy näytöllä. Sen syntaksi on samanlainen kuin int getchar(void);
Getchar-funktio ei vaadi argumenttia, kuten getc. Oletusarvoisesti getchar toimii vakiosyötössä. Siksi getchar-funktiolle ei tarvitse välittää mitään argumenttia. Katso alla oleva esimerkki.
Kuva 03: getchar
Kun käyttäjä antaa syötemerkin, se näkyy näytöllä ja odottaa, kunnes Enter-näppäintä painetaan. Enter-näppäimen jälkeen tulos tulostetaan näytölle printf-toiminnon vuoksi.
Sama getchar-toiminto voidaan saavuttaa käyttämällä getc-toimintoa seuraavasti.
Kuva 04: getchar-toiminnot getc:n käyttäminen
Yllä olevan ohjelman mukaan getc-funktiota käytetään merkin lukemiseen. Se tallennetaan "ch"-muuttujaan. Getc-funktio väittää stdinin osoittavan, että syöte on otettu vakiosyötteestä, joka on näppäimistö. Käyttäjä voi antaa merkin ja painaa enter-näppäintä. Sitten tämä merkki tulostuu näytölle printf-toiminnolla.
Mitä yhtäläisyyksiä getc:n ja getcharin välillä on?
- Molemmat ovat C-ohjelmointikielen toimittamia toimintoja.
- Molemmat funktiot palauttavat End of File (EOF) -ilmoituksen, kun stream päättyy.
Mitä eroa getc:n ja getcharin välillä on?
getc vs getchar |
|
getc on C-funktio, joka lukee merkin syöttövirrasta, kuten tiedostovirrasta tai vakiosyötteestä. | getchar on C-funktio, joka lukee merkin vain tavallisesta syöttövirrasta (stdin), joka on näppäimistö. |
Syntaksi | |
getc-syntaksi on samanlainen kuin int getc(Tiedosto stream). | getchar-syntaksi on samanlainen kuin int getchar(void); |
Yhteenveto – getc vs getchar
C-ohjelmointikieli tarjoaa monia toimintoja. Ohjelmoijat voivat käyttää näitä toimintoja toteuttamatta niitä alusta alkaen. Kaksi tällaisia toimintoja ovat getc ja getchar. Ero getc:n ja getcharin välillä on se, että getc:tä käytetään lukemaan merkki syötevirrasta, kuten tiedostosta tai vakiosyötteestä, ja getcharia käytetään lukemaan merkki vakiosyötteestä. Molemmat käyttävät merkin lukemiseen, mutta niiden toiminnot ovat erilaisia.
Lataa getc vs getcharin PDF-versio
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä Ero getc:n ja getcharin välillä