Heim >Backend-Entwicklung >C++ >Wie überprüfe ich den Inhalt numerischer Zeichen in C-Strings und char*-Variablen?
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!