Stoll C ++

Stoll C ++

Das Konvertieren eines Datentyps in einen anderen ist für viele verschiedene Zwecke erforderlich. Wenn Sie einige nützliche integrierte Funktionen zur Verfügung haben, können Sie Daten problemlos von einem Typ in einen anderen konvertieren. Die C ++-Programmiersprache bietet eine Liste verschiedener integrierter Funktionen, die für Datentypkonvertierungen verwendet werden können. Dieser Artikel soll eine dieser Conversion -Funktionen lernen. Hier veranschaulichen wir die Arbeit der Stollfunktion der C ++ - Sprache.

Was ist die Stollfunktion in der C ++ - Programmierungssprache?

Die Stoll-Funktion ist eine C ++-integrierte Funktion, die von der Standardbibliothek von C ++ bereitgestellt wird, um eine Zeichenfolge in eine lange int umzuwandeln. Es nimmt die Eingabezeichenfolge an, berechnet ihren langen Int -Wert und gibt den berechneten Wert zurück. Es setzt den Zeiger auf das erste Zeichen der String, iteriert jedes Zeichen, das durch eins inkrementiert wird und das letzte Zeichen erreicht.

Syntax der Stollfunktion

Die Syntax der Stoll ist wie folgt:

Die Stoll -Funktion nimmt drei Parameter vor: String, Index und Basis. Der zu einem Ganzzahlwert verwandelte Eingangszeichenfolge ist im Parameter „String“ enthalten. Der Parameter „Index“ ist ein Zeiger auf ein Objekt, mit dem die Position des nächsten Zeichens verfolgt wird. Es kann ein Nullzeiger sein, wenn er nicht benötigt wird. Der Grundwert, bei dem die Zeichenfolge analysiert wird, wird im endgültigen Parameter gespeichert, der als "Basis" bezeichnet wird. Standardmäßig beträgt der Basiswert 10 und der 0 Basiswert bestimmt die Basis nach dem Format der Zeichenfolge. Es gibt den konvertierten Ganzzahlwert in Form eines langen langen int zurück. Lassen Sie uns die Arbeit von Stoll mit den unten angegebenen Beispielen verstehen:

Beispiel 1

Das erste Beispiel der Stollfunktion veranschaulicht die Grundfunktion der Stollfunktion. Hier wird ein einfaches und einfaches Programm bereitgestellt, damit Sie kein Problem damit haben, die Funktion zu verstehen. Sehen Sie sich den folgenden Code an und verstehen Sie die Codezeilen Schritt für Schritt:

#enthalten
Verwenden von Namespace STD;
int main ()

lange lange int d, h, b;
String dec = "123456";
String hex = "ffffff";
String bin = "101010";
D = Stoll (dec, nullptr, 10);
h = stoll (hex, nullptr, 16);
B = Stoll (bin, nullptr, 2);
Cout << dec<<" **Decimal conversion** " << d <Cout <Cout << bin<<" **Binary conversion** " << b <Rückkehr 0;

Das Programm beginnt mit der Header -Datei, die alle für ein C ++ - Allgemeinen Programm benötigten Standardbibliotheks -Dienstprogramme enthält. Der "Verwenden von Namespace STD;" Ermöglicht Ihnen die Standardeingangs- und Ausgangsfunktion ein, um eine bestimmte Aufgabe auszuführen. Das gesamte Programm ist in der Hauptfunktion geschrieben.

Hier werden die Variablen deklariert und Werte werden ihnen zugewiesen. Die Saiten, die transformiert werden müssen, werden in den Variablen "Dec", "Hex" und "Bin" gespeichert. Die Variablen D, H und B halten die konvertierte Zeichenfolge in Form eines langen langen int.

Hier werden die Parameter an die Stollfunktion übergeben. Zur Umwandlung der Dezimalzeichenfolge ist Basis 10 bereitgestellt. Zur Konvertierung der hexadezimalen Zeichenfolge wird Basis 16 bereitgestellt, und zur Umwandlung der Binärstrang wird Basis 2 bereitgestellt.

Mit der Cout -Anweisung werden jede Zeichenfolge und ihre konvertierten Ganzzahlwerte gedruckt. Die Rückgabe 0 -Anweisung wird am Ende des Programms hinzugefügt, um sicherzustellen, dass die Ausführung erfolgreich durchgeführt wurde. Es ist eine optionale Aussage, die übersprungen werden kann.

Lassen Sie uns jede konvertierte Zeichenfolge in der unten angegebenen Ausgabe überprüfen:

Beispiel 2

Testen wir die Stoll -Funktion mit ungültigen Eingaben. Der Compiler wirft einen Fehler aus oder erhöht eine Ausnahme, wenn die Stollfunktion ungültige Eingaben zur Verfügung gestellt wird. Wenn die Ausführung nicht durchgeführt werden kann, wird der Compiler eine ungültige Argument -Ausnahme ausgelegt. Wenn die Konvertierung aufgrund des Eingangswerts außerhalb des Bereichs nicht durchgeführt werden kann, wirft der Compiler die Ausnahme außerhalb des Bereichs aus. Lassen Sie uns dieses ganze Szenario mit einem einfachen Beispiel verstehen:

#enthalten
Verwenden von Namespace STD;
int main ()
String str = "ABCD!~ $#@de ";
versuchen
Cout << stoll(str) << "\n";

catch (const std :: Invalid_argument)
Cerr << "Invalid argument" << "\n";

Rückkehr 0;

Eine Zeichenfolge, die ein spezielles Zeichen enthält. Die Stoll -Funktion kann die Sonderzeichen von allgemeinen Zeichenfolgendaten nicht konvertieren. Es legt eine ungültige Ausnahme von Argumenten auf.

Die Stollumwandlung wird im Block "Try" durchgeführt. Wenn die Konvertierung nicht durchgeführt werden kann, wird die Ausnahme von „ungültigem Argument“ im Block „Catch“ angehoben.

Hier ist die folgende Ausgabe:

Bei einer ungültigen Eingabezeichenfolge kann die Stoll ihre Funktion nicht ausführen und stellt eine Ausnahme aus.

Beispiel 3

Lassen Sie uns nun die Stollfunktion mit einer Mischung aus einer gültigen und ungültigen Eingangszeichenfolge testen. Hier bieten wir der Stoll -Funktion eine Kombination aus gültigen und ungültigen Zeichenfolgen, um die Funktionsweise der Stollfunktion zu sehen.

#enthalten
Verwenden von Namespace STD;
int main ()

String str = "123456789 0xffff 010";
String :: Size_type SZ = 0;
während (!str.leer())
lange lange ll = stoll (str, & sz, 0);
std :: Cout << str.substr(0,sz) << “ converted as “ << ll << '\n';
str = str.Substr (SZ);

Rückkehr 0;

Die Zeichenfolge enthält drei durch den Raum getrennte Elemente. Wir werden jedes Element in eine separate Zeichenfolge unterbrechen und jedes von ihnen nacheinander umwandeln. Die Zeichenfolge wird durchgesetzt und jedes Element wird unabhängig mit einer "while" -Schloop konvertiert. Die Funktion substring () teilt die Zeichenfolge in verschiedene Elemente oder Teile auf. Die Basis 0 wird so bereitgestellt, dass der Compiler die Konvertierungsbasis automatisch bestimmt, indem das Format von Eingabedaten überprüft wird.

Das erste Element, „123456789“, ist eine Dezimalzahl, daher wird es mit Base 10 in eine Dezimalzahl umgewandelt. Die Dezimalumwandlung von „123456789“ sollte „123456789“ sein. Das zweite Element, "0xffff", ist eine Mischung aus Zahlen für Ganzzahl-, String- und Hexadezimalzahlen. Die Stoll -Funktion ignoriert die ungültigen Zeichen in der Zeichenfolge und berechnet die Konvertierung der gültigen Zeichenfolge.

Beispiel. Die Stoll -Funktion bestimmt automatisch die Konvertierungsbasis aus dem Datenformat. Das „FFFF“ ist eine Ganzzahl in der Hexadezimal -Serie, daher verwendet die Stoll -Funktion Basis 16 für die String -Konvertierung. Und das letzte Element, "010", ist wieder eine Ganzzahlnummer. Die konvertierte Zeichenfolge "010" sollte eine "010" -Gegleger sein. Lassen Sie uns die unten angegebene Ausgabe sehen:

Abschluss

Wir hatten einen kurzen Überblick über die Stoll -Funktion. Mit Hilfe von Beispielen haben wir die Verwendung der Stollfunktion in der C ++ - Programmiersprache gelernt. In diesem Leitfaden sind drei einzigartige Beispiele zusammen mit ihrer Code -Erläuterung bereitgestellt.