Is there a way of converting a char into a string in C?
I'm trying to do so like this:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
Is there a way of converting a char into a string in C?
I'm trying to do so like this:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
You need to allocate memory to the string, and then null terminate.
char *array;
array = malloc(2);
array[0] = '1';
array[1] = '\0';
int x = atoi(array);
printf("%d",x);
Or, easier:
char array[10];
array = "1";
int x = atoi(array);
printf("%d",x);
If you're trying to convert a numerical char to an int, just use character arithmetic to subtract the ASCII code:
int x = myChar - '0';
printf("%d\n", x);
char c = '1';
int x = c - '0';
printf("%d",x);
You can convert a character to a string via the following:
char string[2];
string[0] = '1';
string[1] = 0;
Strings end with a NUL character, which has the value 0.
How about:
char arr[] = "X";
int x;
arr[0] = '9';
x = atoi(arr);
printf("%d",x);