How can I convert char a[0] into int b[0] where b is a empty dynamically allocated int array
I have tried
char a[] = "4x^0";
int *b;
b = new int[10];
char temp = a[0];
int temp2 = temp - 0;
b[0] = temp2;
I want 4 but it gives me ascii value 52
Also doing
a[0] = atoi(temp);
gives me error: invalid conversion from ‘char’ to ‘const char*’ initializing argument 1 of ‘int atoi(const char*)’
In Java, we can convert the Char to Int using different approaches. If we direct assign char variable to int, it will return the ASCII value of a given character. If the char variable contains an int value, we can get the int value by calling Character. getNumericValue(char) method.
The atoi() version isn't working because atoi() operates on strings, not individual characters. So this would work:
char a[] = "4";
b[0] = atoi(a);
Note that you may be tempted to do: atoi(&temp) but this would not work, as &temp doesn't point to a null-terminated string.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With