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?

Recommended Answers

All 2 Replies

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.