0

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());  
            cout<<description[index];
         
            //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?

3
Contributors
2
Replies
3
Views
12 Years
Discussion Span
Last Post by marinme
0

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.

0

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.