„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie überprüfe ich, ob ein C++-String eine Ganzzahl darstellt?

Wie überprüfe ich, ob ein C++-String eine Ganzzahl darstellt?

Veröffentlicht am 12.11.2024
Durchsuche:152

How to Check If a C   String Represents an Integer?

Überprüfen, ob ein C-String eine Ganzzahl ist

In bestimmten Situationen, beispielsweise bei der Verarbeitung von Benutzereingaben, kann es notwendig sein, zwischen zu unterscheiden Zeichenfolgen, die Ganzzahlen darstellen, und solche, die dies nicht tun. Glücklicherweise gibt es in C mehrere Möglichkeiten, diese Aufgabe zu lösen.

Ein Ansatz besteht darin, die C-Funktion strtol zu nutzen, die eine Zeichenfolgendarstellung einer Ganzzahl in einen Ganzzahlwert konvertiert. Um strtol zu verwenden, können Sie eine einfache Funktion schreiben, die den Konvertierungsprozess kapselt:

inline bool isInteger(const std::string &s) {
  if (s.empty() || ((!isdigit(s[0])) && (s[0] != '-') && (s[0] != ' '))) return false;

  char *p;
  strtol(s.c_str(), &p, 10);

  return (*p == 0);
}
  • Übersicht: Die Funktion prüft, ob die bereitgestellte Zeichenfolge s eine Ganzzahl darstellt.
  • Leere Zeichenfolgen: Sie prüft zunächst, ob die Die Zeichenfolge ist leer.
  • Führende Symbole: Es wird auch auf führende Nicht-Ziffern geprüft Zeichen wie „ “ oder „-“ und gibt „false“ zurück, wenn sie nicht vorhanden sind (was auf eine Nicht-Ganzzahl hinweist).
  • strtol-Konvertierung: Die Funktion verwendet zur Ausführung die strtol-Funktion die Konvertierung. Wenn strtol auf ein nicht-stelliges Zeichen stößt, weist es die Adresse dieses Zeichens dem Zeiger p zu.
  • Ergebnisauswertung: Wenn p nicht auf das Ende der Zeichenfolge zeigt (dargestellt durch das Zeichen „\0“), bedeutet dies, dass strtol ein nicht-stelliges Zeichen gefunden hat. In diesem Fall gibt die Funktion „false“ zurück, was darauf hinweist, dass s keine Ganzzahl ist.

Diese Funktion bietet eine zuverlässige Möglichkeit zu bestimmen, ob eine bestimmte Zeichenfolge als Ganzzahl analysiert werden kann. Indem Sie es in Ihren Code integrieren, können Sie Zeichenfolgen, die Ganzzahlen und Nicht-Ganzzahlen darstellen, entsprechend verarbeiten.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3