#include
<string>
int stoi (const std::string& s, size_t *pos = 0, int base = 10); long stol (const std::string& s, size_t *pos = 0, int base = 10); long long stoll (const std::string& s, size_t *pos = 0, int base = 10); unsigned long stoul (const std::string& s, size_t *pos = 0, int base = 10); unsigned long long stoull (const std::string& s, size_t *pos = 0, int base = 10);
Konvertiert Zeichenkette in Ganzzahl.
s | Zeichenkette |
pos | Startposition |
base | Zahlenbasis |
Rückgabewert: Zahlwert, der der Zahlzeichenkette entspricht.
Die Zahlkonvertierung bricht beim ersten nicht konvertierbaren Zeichen ab. Ist die Zahl zu groß, wird eine std::out_of_range-Ausnahme geworfen. Kann die Zeichenkette nicht konvertiert werden, werfen die Funktionen eine std::invalid_argument-Ausnahme.
atoi(), atof(), atol(), sscanf(), stod(), stol(), stoll(), stoul(), stoull(), strtod(), strtol(), to_string().
#include <string> #include <iostream> int main() { std::string str = "123 = "; std::size_t endpos; int i = std::stoi(str, &endpos); std::cout << str << i << " before \"" << str.substr(endpos) << "\" : "; // einfach: std::cout << std::stoi(str) << '\n'; }