Heim  >  Artikel  >  Backend-Entwicklung  >  Wie können Sie Ziffern in C-Strings und Char-Zeigern überprüfen?

Wie können Sie Ziffern in C-Strings und Char-Zeigern überprüfen?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 17:17:02123Durchsuche

How Can You Check for Digits in C   Strings and Char Pointers?

Prüfung auf Ziffern in C-Strings und Zeichenzeigern

Die Bestimmung, ob ein String- oder Zeichenzeiger nur numerische Zeichen enthält, ist eine häufige Aufgabe in der Programmierung . C bietet mehrere Möglichkeiten, diese Prüfung durchzuführen, die sowohl auf std::string als auch auf char* anwendbar sind.

String-basierte Methode

Um zu prüfen, ob ein std::string Enthält nur Ziffern, können Sie die Funktion find_first_not_of() verwenden. Diese Funktion gibt die Position des ersten Zeichens zurück, das nicht mit dem angegebenen Zeichensatz übereinstimmt. Wenn die Funktion std::string::npos zurückgibt, zeigt dies an, dass kein nicht-stelliges Zeichen gefunden wurde und die Zeichenfolge daher nur Ziffern enthält.

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

Char-Pointer-basierte Methode

Für einen Zeichenzeiger können Sie die Funktion std::all_of() zusammen mit der Funktion ::isdigit verwenden, um zu überprüfen, ob alle Zeichen im Zeiger Ziffern sind. Die Funktion ::isdigit gibt true zurück, wenn das Zeichen eine Ziffer (0-9) ist, andernfalls false.

<code class="cpp">bool is_digits(const char* str)
{
    return std::all_of(str, str + strlen(str), ::isdigit); // C++11
}</code>

Beachten Sie, dass beide Methoden davon ausgehen, dass die Eingabezeichenfolge oder der Zeichenzeiger eine Folge von ASCII-Zeichen ist . Wenn Nicht-ASCII-Zeichen erwartet werden, können entsprechende Anpassungen erforderlich sein.

Das obige ist der detaillierte Inhalt vonWie können Sie Ziffern in C-Strings und Char-Zeigern überprüfen?. 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