How to parse int from string in C++

2 Answers

0 votes
#include <iostream>   

int main() {
    std::string s1 = "234";
    std::string s2 = "-89";
    std::string s3 = "7553abc";
    std::string s4 = "01011";
    std::string s5 = "    900";
    std::string s6 = "0xA1";

    int n1 = stoi(s1);
    int n2 = stoi(s2);
    int n3 = stoi(s3);
    int n4 = stoi(s4, nullptr, 2);
    int n5 = stoi(s5);
    int n6 = stoi(s6, nullptr, 16);

    std::cout << n1 << "\n";
    std::cout << n2 << "\n";
    std::cout << n3 << "\n";
    std::cout << n4 << "\n";
    std::cout << n5 << "\n";
    std::cout << n6 << "\n";

    return 0;
}




/*
run:

234
-89
7553
11
900
161

*/

 



answered May 16, 2021 by avibootz
0 votes
#include <iostream>   
#include <charconv>

int main() {
    std::string s1 = "234";
    std::string s2 = "-89";
    std::string s3 = "7553abc";
    std::string s4 = "01011";
    std::string s5 = "    900";
    std::string s6 = "0xA1";

    int n1, n2, n3, n4, n5, n6;

    std::from_chars(s1.c_str(), s1.c_str() + s1.length(), n1);
    std::from_chars(s2.c_str(), s2.c_str() + s2.length(), n2);
    std::from_chars(s3.c_str(), s3.c_str() + s3.length(), n3);
    std::from_chars(s4.c_str(), s4.c_str() + s4.length(), n4, 2);
    std::from_chars(s5.c_str(), s5.c_str() + s5.length(), n5);
    std::from_chars(s6.c_str(), s6.c_str() + s6.length(), n6);

    std::cout << n1 << "\n";
    std::cout << n2 << "\n";
    std::cout << n3 << "\n";
    std::cout << n4 << "\n";
    std::cout << n5 << "\n";
    std::cout << n6 << "\n";

    return 0;
}




/*
run:

234
-89
7553
11
0
0

*/

 



answered May 16, 2021 by avibootz

Related questions

1 answer 191 views
1 answer 139 views
139 views asked Jun 28, 2024 by avibootz
1 answer 187 views
1 answer 167 views
...