Was ist Strtol () -Funktion in C++
Der Strtol () Funktion ist eine integrierte Funktion in C ++, die eine Zeichenfolge in einen langen Ganzzahlwert umwandelt. Es akzeptiert eine Zeichenfolge als Daten und transformiert sie mit der angegebenen Basis in einen Ganzzahlwert. Zusätzlich gibt die Methode einen Link oder einen Zeiger auf das anfängliche falsche Zeichen innerhalb der Zeichenfolge zurück.
Syntax von Strtol () Funktion
Die Syntax der Strtol () Die Funktion in C ++ ist wie folgt:
Strtol (s & Ende, Basis)
Parameter der Funktion strtol ()
Der Strtol () Die Funktion hat drei Parameter:
Rückgabeart von Strtol () Funktion
Der Strtol () Die Funktion gibt einen langen Ganzzahlwert zurück, der aus der Eingabezeichenfolge konvertiert wird. Wenn keine Konvertierung auftritt, gibt es 0 zurück.
Header-Datei in C ++, um die Strtol () -Funktion in C zu verwenden++
Vor Verwendung der Strtol () Funktionieren Sie in Ihrem C ++ - Code, Sie müssen die definieren #enthalten Header-Datei.
Beispiele für Strtol () -Funktion in c++
Im Folgenden finden Sie einige Beispiele für die Verwendung Strtol () Funktion in c++.
Beispiel 1: Programm zum Umwandeln einer Zeichenfolge mit Dezimalbasis in lange ganze Zahlen umwandeln
Mit Strtol () Funktion, es ist ziemlich einfach, eine Zeichenfolge mit der Dezimalbasis in eine lange Ganzzahl umzuwandeln. Der Code von C ++, der in einer solchen Situation benötigt wird.
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
char str [] = "12345678";
char* endptr;
long num = strtol (str, & endptr, 10);
if (endptr == str)
Cout<<"Invalid input"<anders
Cout<<"The number is: "<
Rückkehr 0;
Das obige Programm deklariert ein Zeichenarray namens STR, das die Zeichenfolge enthält "12345678". Ein Zeiger namens Endptr wird verwendet, um die Adresse des ersten Zeichens in der Zeichenfolge zu speichern, die nicht Teil der konvertierten Nummer ist. Der Strtol () Die Funktion wird dann aufgerufen, mit dem Argument Str, und Endptr und 10. Das erste Argument ist die zu konvertierende Zeichenfolge, das zweite Argument ist die Adresse des Zeigers, der mit der Endposition der Zeichenfolge aktualisiert wird, und das dritte Argument ist die Basis für die Konvertierung, die in diesem Fall dezimal ist.
Das Programm prüft dann, ob die Endptr ist gleich dem Beginn der Zeichenfolge. Wenn dies der Fall ist, bedeutet dies, dass die Konvertierung nicht erfolgreich war und eine Fehlermeldung gedruckt wird. Andernfalls druckt das Programm die konvertierte Nummer.
Ausgang
Beispiel 2: Programm zum Umwandeln von Strings in lange Ganzzahlen mit 0 Basen
Wenn wir das Basisargument der festlegen Strtol () Funktion zu 0, die Funktion erkennt die Basis automatisch aus der Eingangszeichenfolge. Dies erleichtert es, Zeichenfolgen verschiedener Basen umzuwandeln, ohne die Basis explizit angeben zu müssen. Zum Beispiel, wenn die Zeichenfolge mit beginnt "0x", Es wird automatisch als Hexadezimalzahl erkannt.
Durch Verwendung der Strtol () Funktion zum Umwandeln von Zeichenfolgen in lange ganze Zahlen mit 0 Basen. Wir können sicherstellen, dass die Eingangszeichenfolge gültig ist und ordnungsgemäß in eine lange ganze Zahl umgewandelt werden kann. Dies kann in vielen Arten von Implementierungen hilfreich sein, z. B. das Lesen numerischer Werte von Benutzereingaben oder Analyse von Informationen aus Textdokumenten.
Das unten angegebene Programm ist entsprechend der zuvor angegebenen Situation gut.
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
char str [] = "0xa0b0c0";
char* endptr;
long num = strtol (str, & endptr, 0);
if (endptr == str)
Cout<<"Invalid input"<anders
Cout<<"The number is: "<
Rückkehr 0;
Das obige Programm deklariert ein Zeichenarray mit dem Namen str, die die Zeichenfolge enthält "0xa0b0c0". Der '0x' Das Präfix zeigt an, dass sich die Zeichenfolge im hexadezimalen Format befindet. Ein Zeiger namens Endptr wird ebenfalls deklariert, mit der die Adresse des ersten Zeichens in der Zeichenfolge gespeichert wird, die nicht Teil der konvertierten Nummer ist. Der Strtol () Die Funktion wird dann aufgerufen, mit dem Argument Str, und Endptr und 0. Die Basis für die Konvertierung, die auf 0 eingestellt ist, erkennt die Basis automatisch aus der Eingangszeichenfolge.
Das Programm prüft dann, ob die Endptr ist gleich dem Beginn der Zeichenfolge. Wenn dies der Fall ist, bedeutet dies, dass die Konvertierung nicht erfolgreich war und eine Fehlermeldung gedruckt wird. Andernfalls druckt das Programm die konvertierte Nummer.
Ausgang
Abschluss
In c++, Strtol () Die Funktion wird für die Umwandlung einer Zeichenfolge in einen langen Ganzzahlwert verwendet. Nach den oben genannten Richtlinien können Sie die Verwendung von lernen Strtol () Funktion in C ++, da Sie verschiedene Beispiele finden, die Ihnen helfen, die Grundlagen dieser Funktion zu verstehen.