Hvor å Feilfri en inngangsbuffer i C ++
Rengjøring en inngangsbuffer i C ++ program er viktig når du trenger å forkaste forhåndseksisterende data i strømmen. Dette skjer ofte som en rutinemessig feilsjekking prosess, eller i situasjoner der du bare tilgang til en del av dataene fra strømmen innspill buffer og deretter vil bruke strømmen igjen. Rengjøring av inngangsbuffer gjøres ved å fjerne strømmen tilstand med "klar" funksjon og deretter kalle "ignore" funksjon for å forkaste eventuelle gjenværende tegn fra bufferen.
Bruksanvisning
1 Åpne C ++ filen i et redigeringsprogram, for eksempel Microsoft Visual Studio Express.
2 Inkludere "iostream" og "fstream" overskrifter ved å legge til følgende kode på toppen av C ++ filen:
inkluderer <iostream> inkluder <fstream>
bruker namespace std;
3 Lag en "fstream" objekt og åpne en fil med det ved å legge til følgende kode i funksjon:
fstream f ( "example.txt", fstream :: i);
Den "fstream :: in" parameter setter strømmen til bare å tillate inngangs operasjoner.
4 Utfør en utgang operasjon på strømmen ved å legge til følgende kode:
f << "forsøker tekst utgang";
Utgangen operasjonen vil mislykkes og sette strøm tilstand til "failbit" fordi strømmen er satt til å kun tillate inngangs operasjoner.
5 Rengjør inngangsbuffer med "klare" og "ignore" fungerer ved å legge til følgende kode:
if (f.fail ()) {
f.clear ();
f.ignore (INT_MAX, '\ n');
}
Den "klar" funksjonen sletter alle feil flagg og returnerer strømmen tilstand til "goodbit." De "ignore" funksjon ekstrakter og ignorerer opp til "INT_MAX" tegn eller til den støter på en '\ n' linjeskift karakter. Den "INT_MAX" variabelen er maksimumsverdien for "int" datatype og er systemavhengig.
6 Lagre C ++ fil. Kompilere og kjøre programmet for å rense bufferen.