1#include <iostream>
2#include <string>
3
4int main() {
5
6 std::string str = "123";
7 int num;
8
9 // using stoi() to store the value of str1 to x
10 num = std::stoi(str);
11
12 std::cout << num;
13
14 return 0;
15}
1// For C++11 and later versions
2string str1 = "45";
3string str2 = "3.14159";
4string str3 = "31337 geek";
5
6int myint1 = stoi(str1);
7int myint2 = stoi(str2);
8int myint3 = stoi(str3);
9
10// Output
11stoi("45") is 45
12stoi("3.14159") is 3
13stoi("31337 geek") is 31337
1#include <iostream>
2#include <string>
3using namespace std;
4int main() {
5
6 string s = "10";
7
8 try
9 {
10 int i = stoi(s);
11 cout << i << '\n';
12 }
13 catch (invalid_argument const &e)
14 {
15 cout << "Bad input: std::invalid_argument thrown" << '\n';
16 }
17 catch (out_of_range const &e)
18 {
19 cout << "Integer overflow: std::out_of_range thrown" << '\n';
20 }
21
22 return 0;
23}
1// Both functions work identically though you'll need to use "#include <string>"
2atoi( str.c_str() );
3stoi( str );
1// stoi example
2#include <iostream> // std::cout
3#include <string> // std::string, std::stoi
4
5int main ()
6{
7 std::string str_dec = "2001, A Space Odyssey";
8 std::string str_hex = "40c3";
9 std::string str_bin = "-10010110001";
10 std::string str_auto = "0x7f";
11
12 std::string::size_type sz; // alias of size_t
13
14 int i_dec = std::stoi (str_dec,&sz);
15 int i_hex = std::stoi (str_hex,nullptr,16);
16 int i_bin = std::stoi (str_bin,nullptr,2);
17 int i_auto = std::stoi (str_auto,nullptr,0);
18
19 std::cout << str_dec << ": " << i_dec << " and [" << str_dec.substr(sz) << "]\n";
20 std::cout << str_hex << ": " << i_hex << '\n';
21 std::cout << str_bin << ": " << i_bin << '\n';
22 std::cout << str_auto << ": " << i_auto << '\n';
23
24 return 0;
25}