Possible Duplicates:
How to convert a single char into an int
Character to integer in C
Can any body tell me how to convert a char
to int
?
char c[]={'1',':','3'};
int i=int(c[0]);
printf("%d",i);
When I try this it gives 49.
Possible Duplicates:
How to convert a single char into an int
Character to integer in C
Can any body tell me how to convert a char
to int
?
char c[]={'1',':','3'};
int i=int(c[0]);
printf("%d",i);
When I try this it gives 49.
int result = charValue - '0';
so your code would be:
printf("%d", i - '0');
In the old days, when we could assume that most computers used ASCII, we would just do
int i = c[0] - '0';
But in these days of Unicode, it's not a good idea. It was never a good idea if your code had to run on a non-ASCII computer.
Edit: Although it looks hackish, evidently it is guaranteed by the standard to work. Thanks @Earwicker.