Heim > Backend-Entwicklung > C++ > Wie kann festgestellt werden, ob ein String- oder Zeichenarray in C nur Ziffern enthält?

Wie kann festgestellt werden, ob ein String- oder Zeichenarray in C nur Ziffern enthält?

Susan Sarandon
Freigeben: 2024-11-02 17:21:03
Original
309 Leute haben es durchsucht

How to Determine if a String or Character Array Contains Only Digits in C  ?

Bestimmen der Numerizität von Zeichenfolgen und Zeichenarrays

In C wird überprüft, ob ein Zeichenfolgen- oder Zeichenarray (char*) ausschließlich numerische Zeichen enthält eine allgemeine Anforderung. Sehen wir uns zwei zuverlässige Methoden an:

Methode 1: find_first_not_of()

Diese Methode nutzt die Funktion find_first_not_of(), die nach dem ersten Vorkommen eines nichtstelligen Zeichens sucht . Wenn kein solches Zeichen gefunden wird, wird std::string::npos zurückgegeben, was bedeutet, dass nur Ziffern vorhanden sind:

<code class="cpp">bool is_digits(const std::string &str)
{
    return str.find_first_not_of("0123456789") == std::string::npos;
}</code>
Nach dem Login kopieren

Methode 2: std::all_of()

Diese Methode nutzt die Funktion std::all_of(), die prüft, ob alle Elemente in einem Bereich ein bestimmtes Prädikat erfüllen. In diesem Fall lautet das Prädikat ::isdigit, das für numerische Zeichen „true“ zurückgibt:

<code class="cpp">bool is_digits(const std::string &str)
{
    return std::all_of(str.begin(), str.end(), ::isdigit); // C++11
}</code>
Nach dem Login kopieren

Vergleich für Zeichenfolgen und Zeichenarrays

Beide Methoden sind gleichermaßen anwendbar sowohl für Zeichenfolgen als auch für Zeichenarrays. Zeichenarrays erfordern jedoch eine explizite Konvertierung in Zeichenfolgen, bevor die std::string-Mitgliedsfunktionen verwendet werden können.

Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob ein String- oder Zeichenarray in C nur Ziffern enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage