Select to view content in your preferred language

C++ String to Integer Conversion

3137
1
10-10-2023 04:56 AM
hectorsalamanca
New Contributor III

I'm working on a C++ program where I need to convert a string containing a numeric value into an integer. I want to ensure that this conversion is handled correctly and safely, especially when dealing with potential exceptions or invalid input.

Here's a simplified example of what I'm trying to do:

 

 

#include <iostream>
#include <string>

int main() {
    std::string str = "12345"; // This could be any numeric string.

    // How can I safely convert the string 'str' to an integer?

    int num = ???; // The converted integer should be stored here.

    std::cout << "Converted integer: " << num << std::endl;

    return 0;
}

 

 

In this code, I have a string str containing a numeric value. I want to convert this string into an integer variable num. However, I want to handle potential issues gracefully, such as cases where the string is not a valid integer.

Could you offer a C++ code sample illustrating the proper and secure approach to convert a string to an integer while managing any potential exceptions or errors? I appreciate you helping me. I attempted to visit multiple sites to locate the answer, but I was unable to do so. Thank you.

 

Tags (1)
0 Kudos
1 Reply
DavidSolari
Occasional Contributor III

Not a C++ guy, but a quick search brought up std::stoi if you're on C++ 11 and up and you're using exceptions in your codebase. If neither applies to you, this post covers a few options and shows an implementation using a standard C function. This all assumes you're using standard C strings, other strings will need a conversion or a custom implementation.

0 Kudos