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.
You need to do:
int temp2 = temp - '0';
instead.
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