Heim > Backend-Entwicklung > C++ > Wie kann ich überprüfen, ob ein String oder ein Zeichen* in C nur Ziffern enthält?

Wie kann ich überprüfen, ob ein String oder ein Zeichen* in C nur Ziffern enthält?

Patricia Arquette
Freigeben: 2024-11-03 04:18:30
Original
754 Leute haben es durchsucht

How Can I Verify if a String or char* Contains Only Digits in C  ?

Überprüfung auf Nur-Ziffern-Strings in C

Bestimmen, ob ein String oder ein Zeichen* nur Ziffern enthält, ist eine häufige Aufgabe in der Programmierung. In diesem Artikel werden zwei effiziente Ansätze untersucht:

1. Mit find_first_not_of

Diese Methode durchläuft die Zeichenfolge und sucht nach dem ersten Nicht-Ziffer-Zeichen. Wenn keine gefunden wird (find_first_not_of("0123456789") gibt std::string::npos zurück), wird die Zeichenfolge als nur Ziffern betrachtet:

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

2. Verwendung von std::all_of (ab C 11)

Diese Methode verwendet ein Prädikat, um jedes Zeichen der Zeichenfolge zu überprüfen. In diesem Fall lautet das Prädikat ::isdigit, das für Ziffernzeichen true zurückgibt:

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

Gelten die Funktionen sowohl für Strings als auch für char*?

Ja, diese Funktionen können mit geringfügigen Änderungen sowohl für std::string als auch für char* verwendet werden. Für char* kann der Konstruktor std::string verwendet werden, um char* in einen std::string:

<code class="cpp">bool is_digits(const char *str)
{
    std::string str_copy(str);
    return is_digits(str_copy);
}</code>
Nach dem Login kopieren
umzuwandeln

Das obige ist der detaillierte Inhalt vonWie kann ich überprüfen, ob ein String oder ein Zeichen* 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