Есть ли способ конвертировать символ в строку в C?
Я пытаюсь сделать это так:
char *array; array[0] = '1'; int x = atoi(array); printf("%d",x);
char c = '1'; int x = c - '0'; printf("%d",x);
Если вы пытаетесь преобразовать числовой символ в целое, просто используйте символьную арифметику, чтобы вычесть код ASCII:
int x = myChar - '0'; printf("%d\n", x);
Вам необходимо выделить память для строки, а затем завершить нулем.
char *array; array = malloc(2); array[0] = '1'; array[1] = '\0'; int x = atoi(array); printf("%d",x);
Или, проще:
char array[10]; array = "1"; int x = atoi(array); printf("%d",x);
Как насчет:
char arr[] = "X"; int x; arr[0] = '9'; x = atoi(arr); printf("%d",x);
Вы можете преобразовать символ в строку с помощью следующего:
char string[2]; string[0] = '1'; string[1] = 0;
Строки заканчиваются символом NUL, значение которого равно 0.