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?

>>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.

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;
Comments
Unbelievable..

> 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)

Edited 5 Years Ago by Mahkoe: n/a

Comments
bump 4 year old thread

> 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.

Edited 5 Years Ago by WaltP: n/a

This article has been dead for over six months. Start a new discussion instead.