hi there, i just want to know what function to use in converting a char into an int
like:

char temp;
cout << "enter something";
cin >> temp;

atoi(temp);

is this the right way?

Recommended Answers

All 8 Replies

>>is this the right way?
No because atoi() takes a pointer to a null-terminated string and your variable temp is just a single character.

The quickest way is to simply subtract the ascii value of '0' from it like this: int n = temp - '0'; . Why does that work? Its because a char is a small integer and if you look at an ascii chart you will see that all characters have an ascii numerical value. Internally, programs know nothing at all about characters, only numeric values as shown in that ascii chart.

thank you for that detailed explanation..

Why atoi is bad... strtol is what you should be looking for.

hi there, i just want to know what function to use in converting a char into an int
like:

char temp;
cout << "enter something";
cin >> temp;

atoi(temp);

is this the right way?

yes that is a correct way u can proceed.........
but the only thing u need to do is that u should use char array in place of char variable, and the function atoi is return an int value so u should store the result in some integer variable.
like

char temp[10]="10";
int i;
i=atoi(temp)*2;
cout<<i; \\ the output = 20;
commented: Unbelievable.. -1

> yes that is a correct way u can proceed.........
Over a year late, and still you missed the better answer from ~s.o.s~

It seems this zombi thread was started by incorrect and unclear question then proceeded with answers to another hypothetical questions and now start the next bla bla bla loop... ;)

That's my deposit in the discussion of char to int promotion...

Or you can download this header and include it, and to use the functions, do this:

int i;
string s;
cin>>s;
i=c2a<int>(s)
commented: bump 4 year old thread -4

> yes that is a correct way u can proceed.........
Over a year late, and still you missed the better answer from ~s.o.s~

Let's add another 3 years to that.

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.