So reinigen Sie ein Eingabepuffer in C++

October 10

Reinigung eines Eingabepuffers in einem C++-Programm ist wichtig, wenn Sie benötigen, um bereits vorhandene Daten in den Stream zu verwerfen. Dies geschieht häufig als routinemäßige Fehlerüberprüfung Prozess, oder in Situationen, wo Sie nur Teil der Daten aus dem Stream Eingabepuffer zugreifen und dann den Stream wieder verwenden möchten. Reinigung des Eingabepuffers erfolgt durch Löschen der Stream Zustands mit der Funktion "Löschen" und anschließendes Aufrufen der Funktion "ignorieren", um alle verbleibenden Zeichen aus dem Puffer zu verwerfen.

Anweisungen

1 Öffnen Sie die C++-Datei in einem Editor, z. B. Microsoft Visual Studio Express.

2 Gehören Sie die "Iostream" und "Fstream" Header durch den folgenden Code am oberen Rand die C++-Datei hinzufügen:

enthalten < Iostream > < Fstream > gehören using Namespace std;

3 Ein "Fstream"-Objekt erstellen und Öffnen einer Datei mit es durch hinzufügen den folgenden Code in der Funktion:

FStream f ("example.txt",fstream::in);

Der "fstream::in" Parameter legt den Stream nur Eingabevorgänge erlauben.

4 Führen Sie eine Ausgabe-Operation im Stream, indem Sie den folgenden Code hinzufügen:

f << "bei dem Versuch Textausgabe";

Die Ausgabe-Operation wird fehlschlagen und den Stream Zustand "Failbit" festgelegt, da der Stream eingerichtet ist, dass nur Eingabevorgänge zulässig.

5 Reinigen Sie den Eingabepuffer mit den Funktionen "clear" und "ignorieren" durch den folgenden Code hinzufügen:

Wenn (f.fail()) {}f.Clear();f.Ignore (INT_MAX, '\n');}

Die Funktion "Löschen" löscht alle Fehler-Flags und gibt den Stream-Status auf "Goodbit." Die Funktion "ignorieren" extrahiert und ignoriert, bis zu "INT_MAX" Zeichen oder bis eine Zeilenendemarke "\n" gefunden. Die Variable "INT_MAX" ist der maximale Wert für den Datentyp "Int" und ist systemabhängig.

6 Speichern Sie die C++-Datei. Kompilieren Sie und führen Sie das Programm, den Eingabepuffer zu säubern.