CIN.Ignorieren Sie in C ++

CIN.Ignorieren Sie in C ++

Mit dem CIN einzelne oder mehr Buchstaben aus dem Eingangspuffer zu ignorieren oder zu entfernen oder zu entfernen.methode ignore (). Vielleicht müssen wir den unerwünschten Puffer entfernen, damit die nächsten Daten eher im beabsichtigten Container als im Cache der vorhergehenden Variablen gespeichert werden. Zum Beispiel müssen wir nach dem Eingeben des CIN -Befehls ein Zeichenarray oder eine Zeichenfolge angeben. Infolgedessen müssen wir den Eingangspuffer entleeren; Andernfalls würde der Puffer der vorhergehenden Variablen besetzt sein. Da der Cache des vorhergehenden Elements keinen Raum für die Aufbewahrung neuer Daten hat, wird die Schaltfläche „Eingabetaste“ unternommen, kurz nachdem die erste Eingabe die nächste Eingabe des Containers ignoriert. Beginnen wir mit den Beispielen des CINs.Ignore () -Funktion mit dem Start neuer C ++ - Dateien über die Terminal Shell. Die Datei muss über die Berührungsanweisung und den Namen der Datei erstellt werden. Ubuntus "Nano" -Ditedler wurde bisher verwendet, um die Datei zum Bearbeiten zu öffnen.

Beispiel 01:

Ignorieren Sie bei der Anwendung des Nano -Befehls.Die CC -Datei würde im Editor geöffnet. Es ist Zeit, unser erstes Beispiel zu beginnen. Erstens werden wir uns den C ++ - Code ansehen, ohne den CIN zu verwenden.Funktion ignore () ignorieren. Also haben wir es mit zwei Headerbibliotheken begonnen, ich.e., Vektor und iOstream. Der Namespace wird danach verwendet. Die Funktion main () wird mit der Deklaration einer Ganzzahlvariablen „Num“ und dem Zeichen -Array „Str“ von Größe 100, verwendet, um einen Stringwert zu speichern. In der Cout -Anweisung wird ein Benutzer aufgefordert, eine Ganzzahl- und einen String -Typ -Wert hinzuzufügen. Die Cin.Getline () wird verwendet, um die von einem Benutzer eingegebenen Streichertypwerte zu erhalten. Die nächste Cout -Anweisung wird verwendet, um den vom Benutzer auf der Shell eingegebenen Ganzzahl- und Stringwert auszudrucken.

#enthalten
#enthalten
Verwenden von Namespace STD;
hauptsächlich()
int num;
Char Str [100];
Cout << "Please add one Integer and one String value:\n";
cin >> num;
CIN.Getline (str, 100); // eine Zeichenfolge nehmen
Cout << "Number :" << num << ", String: " << Str << endl;

Jetzt wurde der Code zusammengestellt und ausgeführt. Der Benutzer hat zwei von einem Speicherplatz getrennte Werte eingegeben, ich.e., Ganzzahl und String. Beide Werte wurden wie angegeben ausgedruckt.

Nach dem erneuten Ausführen hat der Benutzer 1 Wert hinzugefügt und eingegeben. Die Ausgabe zeigt einen Wert im Gegenzug und der Zeichenfolgenwert ist leer.

Bei der dritten Ausführung hat ein Benutzer einen Stringwert hinzugefügt, ohne einen Ganzzahlwert hinzuzufügen. Im Gegenzug zeigt die Ausgabe den Wert 0 für die Zahl und die NULL für die Zeichenfolge an.

Aktualisieren wir den Code, indem wir das "CIN" hinzufügen.Ignore () ”Funktion nach der CIN -Anweisung. Es braucht zwei Argumente. Einer ist numeric_limits Stream Size Header, um den Puffer -Cache nach dem 1. Wert und eine überzeugende neue Zeile I zu löschen.e. "\N". Die nächste Variable „Str“ erhält den Wert, nachdem der Benutzer in die nächste Zeile erreicht wurde.

#enthalten
#enthalten
Verwenden von Namespace STD;
hauptsächlich()
int num;
Char Str [100];
Cout << "Please add one Integer and one String value:\n";
cin >> num; // Puffer löschen, bevor sie eine neue Linie nehmen
CIN.Ignore (numeric_limits:: max (), '\ n');
CIN.Getline (str, 100); // eine Zeichenfolge nehmen
Cout << "Number :" << num << ", String: " << Str << endl;

Ein Benutzer hat zwei Werte mit einem Speicherplatz hinzugefügt. Nach dem Drücken der Eingabetaste hat ein Benutzer einen weiteren Wert hinzugefügt. Infolgedessen zeigt die Ausgabe den ersten Ganzzahlwert und den String-Wert in der nächsten Zeile. Der cin.Ignore () nimmt den ersten Wert vor dem Speicherplatz und den zweiten Wert aus der nächsten Zeile nach dem Löschen des Puffer -Cache. Sie sehen.

Beispiel 02:

Jetzt haben wir uns ein anderes Beispiel angesehen. Einige Header -Dateien wurden vor der Funktion main () hinzugefügt. Innerhalb einer Funktion führt die while -Schleife weiterhin einige Aussagen aus. Drei Ganzzahlvariablen werden deklariert, und die Cout -Anweisung wird aufgefordert, Eingaben in diesen Variablen hinzuzufügen. Die Cin. Wenn ja, wird das Programm sofort verlassen. Ansonsten geht das Programm fort. Der cin.Anweisung ignore () ist hier, um den Cache vor der nächsten Zeile zu löschen, und die Cout -Anweisung zeigt die Eingabewerte an.

#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
while (wahr)
Int N1, N2, N3;
Cout << "Please Type Space-separated 3 Numbers: " << endl;
CIN >> N1 >> N2 >> N3;
if (n1 == 0) exit (exit_success);
CIN.Ignore (numeric_limits:: max (), '\ n');
Cout <<"1st: "<
return exit_success;

Nach dem Ausführen dieses Code -Beispiels hat der Benutzer drei Werte hinzugefügt. Der erste Wert ist nicht 0; Es wird das 1., 2. und 3. angezeigt. Die Schleife "while" wird erneut fortgesetzt, und der Benutzer fügt 0 als 1. Ganzzahl -Wert hinzu. Im Gegenzug stieg das Programm ohne weitere Ausführung aus.

Beispiel 03:

Das letzte Beispiel besteht. Zwischen beiden CIN.Get () Zeilen, um Werte zu nehmen, wir haben den CIN genutzt.Ignore () ignore () Funktion zum Löschen von Puffer -Cache, wenn der Speicherplatz begegnet. Wenn der Benutzer eine Zeichenfolge hinzufügt, CIN.Get () nimmt nur seine erste und Cout angezeigt es gemäß dem folgenden Code.

#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
Char v1, v2;
Cout << "Type Two words: " << endl;
v1 = cin.erhalten();
CIN.Ignore (numeric_limits:: max (), ");
v2 = cin.erhalten();
Cout << "Initials of both words are: "<return exit_success;

Nach der Ausführung fügte der Benutzer zwei Wörter hinzu, während die Cout -Anweisung nur Initialen anzeigt.

Abschluss:

In diesem Bereich ging es also um die Verwendung des CINs.Ignore () Funktion in C ++, um Cache -Puffer zu löschen. Wir haben den Raum und die nächsten Zeilenzeichen als Grenzwerte benutzt. Die implementierten Beispiele sind ziemlich leicht zu lernen und zu verstehen. Daher sind wir sicher, dass Sie von allen Beispielen Hilfe nehmen werden.