Heim >Backend-Entwicklung >C++ >Wie überprüfe ich den Inhalt numerischer Zeichen in C-Strings und char*-Variablen?

Wie überprüfe ich den Inhalt numerischer Zeichen in C-Strings und char*-Variablen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 03:04:291000Durchsuche

How to Check for Numeric Character Content in C   Strings and char* Variables?

Prüfung auf numerischen Zeicheninhalt in C-Strings und char*-Variablen

Bei der Arbeit mit Strings in C ist es oft notwendig, festzustellen, ob Eine bestimmte Zeichenfolge enthält nur numerische Ziffern. Dies kann mit verschiedenen Methoden erreicht werden, von denen jede ihre eigenen Vor- und Nachteile hat.

Für std::string-Objekte besteht ein Ansatz darin, die Funktion std::find_first_not_of() zu verwenden. Diese Funktion sucht nach dem ersten Zeichen in der Zeichenfolge, das mit keinem der in ihrer Eingabe angegebenen Zeichen übereinstimmt. Indem wir eine Zeichenfolge übergeben, die nur numerische Zeichen enthält (z. B. „0123456789“), können wir feststellen, ob die Eingabezeichenfolge nicht numerische Zeichen enthält.

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

Alternativ für beide std:: string und char*-Variablen können wir die Funktion std::all_of() verwenden. Diese Funktion benötigt einen Bereich von Elementen und ein Prädikat (eine Funktion, die für jedes Element einen booleschen Wert zurückgibt). Durch die Anwendung des Prädikats ::isdigit(), das für numerische Zeichen „true“ zurückgibt, können wir überprüfen, ob alle Zeichen in der Sequenz diese Bedingung erfüllen.

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

Diese Methoden bieten effiziente Möglichkeiten zur Überprüfung des Inhalts numerischer Zeichen sowohl in std::string- als auch in char*-Variablen. Die Wahl des Ansatzes hängt von den spezifischen Anforderungen und Vorlieben des Entwicklers ab.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich den Inhalt numerischer Zeichen in C-Strings und char*-Variablen?. 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