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.