Heim >Backend-Entwicklung >C++ >Wie kann ich die Ganzzahleingabe in C validieren?

Wie kann ich die Ganzzahleingabe in C validieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-16 02:05:19931Durchsuche

How Can I Validate Integer Input in C  ?

Überprüfung des Ganzzahl-Eingabestreams in C

In C kann es eine Herausforderung sein, Benutzereingaben zu überprüfen, um sicherzustellen, dass es sich um eine Ganzzahl handelt. Dieser Artikel zeigt zwei Methoden, um diese Validierung zu erreichen.

Methode 1: Eingabefehler überprüfen

Um zu überprüfen, ob die Eingabe eine Ganzzahl ist, verwenden Sie den folgenden Codeausschnitt:

int x;
cin >> x;

if (cin.fail()) {
    // Not an integer
}

Wenn der eingegebene Wert nicht in eine Ganzzahl konvertiert werden kann, gibt cin.fail() „true“ zurück, was auf eine Nicht-Ganzzahl hinweist Eingabe.

Methode 2: Kontinuierliche Aufforderung zur Eingabe einer Ganzzahl

Um wiederholt zur Eingabe einer Ganzzahl aufzufordern, bis eine gültige Eingabe erfolgt, verwenden Sie diesen Code:

int x;
std::cin >> x;
while (std::cin.fail()) {
    std::cout << "Error" << std::endl;
    std::cin.clear();
    std::cin.ignore(256, '\n');
    std::cin >> x;
}

Die while-Schleife wird fortgesetzt, bis eine gültige Ganzzahl eingegeben wird, wobei die vorherige ungültige Zahl gelöscht und ignoriert wird Eingaben.

Beispiel

Betrachten Sie den folgenden Code:

int firstvariable;
int secondvariable;

cout << "Please enter two integers and then press Enter:" << endl;
cin >> firstvariable;
cin >> secondvariable;

Mit einer der oben beschriebenen Methoden können Sie überprüfen, ob die erste Variable und die zweite Variable vorhanden sind sind ganze Zahlen und behandeln nicht ganzzahlige Eingaben entsprechend.

Das obige ist der detaillierte Inhalt vonWie kann ich die Ganzzahleingabe in C validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn