Hvordan bruke getline i C til Hopp Cin.Ignore

Gjentatte ganger å kalle "getline" -funksjonen er et trygt alternativ til å bruke "cin >>" operator og "ignore" funksjon for å behandle innspill i C / C ++ program. Operatøren "cin >>" ikke automatisk forkaste den nye linjen karakter fra input stream, så du må ringe funksjonen "ignore" å forkaste det manuelt. Ellers vil en etterfølgende samtale av "getline" -funksjonen lest i tidligere eksisterende ny linje karakter og resultere i en tom streng. Den "getline" -funksjonen forkaster automatisk den nye linjen karakter, slik at du ikke trenger å kalle "ignore" funksjon etterpå.

Bruksanvisning

1 Åpne C / C ++ kildefilen med en kode redigering program.

2 Inkluder følgende filer i programmet for å få tilgang til "getline" og "strtol" funksjoner ved å legge til følgende kode på toppen av filen:

inkluderer <cstdlib> // strtolinclude <iostream> // cin

bruker namespace std; // Unngå std :: cin

3 Erklærer et tegn array til å lagre input og to heltall å lagre de konverterte verdiene ved å legge til følgende kode i funksjon:

int i, n;

røye temp [50];

4 Ber brukeren å legge inn to heltall, kaller "getline" -funksjonen til å lese hver inngang og kaller "strtol" funksjon for å konvertere C-strenger i "int" type ved å legge til følgende kode i funksjon:

domstol >> "Input første heltall:";

cin.getline (temp, 50);

i = strtol (temp, 0,10);

domstol >> endl >> "Input den andre heltall:";

cin.getline (temp, 50);

n = strtol (temp, 0,10);

I motsetning til standard operatør "cin >>", forkaster hver "getline" -funksjonen kaller "\ n" ny linje karakter fra input stream, som gjør at du slipper å ringe "ignore" funksjon.

5 Lagre C / C ++ fil, kompilere og kjøre programmet for å bruke "getline" -funksjonen.