C ++ getline -funksjon

C ++ getline -funksjon
Getline () brukes til å få inngangsstrengen fra brukeren i en eller flere linjer til et spesielt tegn kommer (avgrensning). Det er en forhåndsdefinert funksjon og bruker et bibliotek i programmet, ettersom definisjonen er til stede i bibliotekets overskriftsfil.
#

Denne artikkelen vil forklare mange grunnleggende eksempler for å forklare arbeidet med getline () -funksjonen.

Forutsetning

Vi har brukt 20.04 versjon av Ubuntu; Du kan bruke den siste. For implementeringen må du ha en tekstredigerer og få tilgang til Linux -terminalen fordi vi vil kunne se utdataene fra kildekodene på terminalen gjennom spørringen.

Syntaks av getline () -funksjonen

Getline () -funksjonen blir forklart basert på parametrene som brukes i getline -funksjonen.

# Istream & Getline (Istream & Is, String & Str, Char Delim)

Nå vil vi forklare hver parameter for denne syntaks en etter en.

  • STR: Denne parameteren representerer strengobjektet der inngangsverdien lagres når verdien godtar den fra inngangsstrømmen.
  • Delim: Denne parameteren representerer tegnet som viser avgrenseren som inneholder verdien opp som inngangsstrengen skal vises.

Eksempel 1

Dette eksemplet bruker et enkelt eksempel på getline () -funksjonen i programmet. I enkle C ++ -programmer trenger vi et Iostream -bibliotek i enkle C ++ -programmer, men her foruten dette biblioteket har vi brukt et annet bibliotek som bruker Getline () i C ++ kildekode.

# inkluderer

Kommer mot hovedprogrammet er en strengvariabel erklært her for å godta strengmeldingen fra brukeren. Når vi utfører koden i terminalen, vil brukeren komme for å se en melding som vises der systemet ber brukeren om å legge inn strengmeldingen; Denne meldingen vises igjen etter litt prosesjon. Getline () -funksjonen vil godta setningen som er lagt inn av brukeren.

# Getline (cin, melding);

Den samme meldingen vises uten endring. Vi vil bruke noen modifikasjoner etter at verdien er lagt inn i fremtidige eksempler.

Lagre koden i filen med utvidelsen av C ++/C.

Utfør kommandoen i Ubuntu -terminalen. For å kompilere kildekoden, trenger vi en kompilator. For C ++ -kode trenger vi en G ++ -kompilator for å kompilere koden.

$ g ++ -o getline getline.c
$ ./getline

Ved utførelse vises en melding; Du må oppgi meldingen din. Slik at systemet viser utgangen.

Nå her gir vi det samme scenariet annerledes. Som vi vet, akkurat som Getline -funksjonen, brukes 'Cin' også for å få verdien fra brukeren. Men det er noen demerits å bruke CIN i stedet for eller med getline -funksjonen. Her har vi brukt et eksempel, der vi har brukt CIN i stedet for Getline, for å se effekten av denne endringen. Alle andre ting er de samme. For eksempel er bibliotekene de samme. Hele programmet er skrevet i hovedprogrammet.

Lagre nå filen og utfør den i Ubuntu -terminalen. Når vi sammenstiller koden og deretter utfører den, vil systemet igjen kreve en strengmelding fra oss. Vi vil skrive den samme strengen. Ved hjelp av tasten 'Enter', vil du se at hele strengen ikke vises. Bare en enkelt del av strengen vises. Dette er fordi "CIN" aksepterer verdien fra hele strengen til den finner det første rommet. Det er grunnen til at utgangen reduseres fra den opprinnelige. For å godta hele strengen, bruk getline () -funksjonen. Sett sammen koden og utfør den deretter.

Eksempel 2

I forrige eksempel, som ved å bruke "CIN", har vi begrenset verdien. Men det er åpenbart i “Cin”; Verdien reduseres alltid til det første blanket i den gitte strengen. Men i dette eksemplet, ved å bruke getline () -funksjonen, har vi begrenset verdien i inngangsuttalelsen ved å bruke en spesiell betingelse. I følge den gitte tilstanden gir vi et alfabet i programmet. Ved utførelse av kode, når dette alfabetet kommer i hele strengen for første gang, slutter kompilatoren å skrive ut hele strengen, og et stykke streng fra starten til det alfabetet vises på skjermen som en resulterende verdi.

# Getline (cin, melding, 'i');

I dette eksemplet kan du se at vi har brukt 'I' i getline () -funksjonen i kildekoden. Du kan bruke et hvilket som helst annet alfabet etter ditt eget valg.

Nå, etter sammenstilling, utfør koden på terminalen. Fra den resulterende verdien er det tydelig at vi har brukt 'I' i inngangsstrengen, så alfabetene som kommer før dette alfabetet vil vises som utgang.

Eksempel 3

I dette eksemplet, i stedet for å bruke alfabetet for å vise kriterier, bruker vi indeksnummeret her. Kompilatoren vil hente ønsket post i henhold til indeksnummeret ved å gjøre dette. Indeksnummeret som er gitt i funksjonen, vil opphøre den ytterligere henting av posten. For eksempel har vi brukt '7' -nummeret, så meldingen vises i posisjon 6 i indeksen.

I dette eksemplet vil du også se at det er en liten endring i å skrive getline () -funksjonen. I forrige eksempel har vi brukt 'cin' inne i parametrene til getline. Men denne gangen har vi brukt en annen teknikk for å skrive denne funksjonen.

# Cin.getline (melding, 7);

Når vi utfører koden, vil vi se at vi har skrevet inn et navn med to ord med et mellomrom mellom dem. Men når vi søker om programmet, vil vi se at navnet vises opp til indeksens 6. plassering.

Eksempel 4

Dette eksemplet vil vise strengen slik at hvert ord vises på neste linje. Dette eksemplet bruker et nytt bibliotek i stedet for andre, ettersom funksjonen i dette biblioteket allerede inkluderer inngangs-/ utgangsstrømming. Og tillater også lesing og skriving i filen. Dette innebærer også å vise verdiene til en streng bitvis. Gi oss beskjed for å forstå eksemplet. En variabel får verdien gitt av brukeren gjennom en getline -funksjon. Den andre variabelen er med på å dele ordene i strengen og flytte dem til neste linje.

# Getline (cin, s);

Etter å ha fått verdien, deler denne verdien deretter verdien og plasserer den i en annen variabel, 'x'. for skjermfunksjonen; Vi vil bruke en stundsløyfe her.

# StringStream X (S);

I følge Loop vil verdien bli skrevet ut til verdien er til stede i uttalelsen. Loop -kroppen tar et enkelt ord fra den komplette setningen og kutter den der plassen er til stede eller kommer først. Denne tilstanden er gitt i løkken.

# While (getline (x, t, "))

Du kan se den resulterende verdien ved å utføre koden etter samlingen.

Konklusjon

Denne artikkelen har vist noen elementære eksempler for å forklare Getline () -funksjonskonseptet. Du kan bruke Linux -operativsystemet til utdyping. Vi har forklart flere eksempler for å forklare arbeidet med denne funksjonen. Hvert eksempel skildrer arbeidet med denne funksjonen annerledes.