How do you convert a string to an int? In my book under string functions, it shows this short example:

ia = atoi ("-123.45xyz");

which says that ia = 123.

So, I tried applying this to my code.

index = atoi (a.GetCode());  
            //a.GetCode() returns a number string 0 - 9
           //description[] is an array that holds the job
              descriptions to the corresponding code

I included the <cstdlib> like the book says but i get this error message when I compiled it with the "CC" compiler:

Error:  Could not find a match for std::atoi(std::basic_string<char, std::char_traits<char>, std::allocator<char>>)

what does this mean? how do i fix it? is there any other way to convert to an int?

12 Years
Discussion Span
Last Post by marinme

You may want to look up strtod or strtol. If you are trying to use these C-style functions with a std::string, look at the c_str() member function too.


I think that your problem is you are trying to pass a string object to the atoi function.

the way that your book uses it is atoi(char *) using a C-style string, not a string object. I'm not sure if it does have an overloaded version using the string object. What you could do is just have your function return yourString.c_str() and it should work.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.