C'è un modo per convertire un char in una stringa in C?Utilizzo di atoi con char
sto cercando di farlo in questo modo:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
C'è un modo per convertire un char in una stringa in C?Utilizzo di atoi con char
sto cercando di farlo in questo modo:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
stai:
char arr[] = "X";
int x;
arr[0] = '9';
x = atoi(arr);
printf("%d",x);
È necessario allocare la memoria alla stringa, e quindi Null terminare.
char *array;
array = malloc(2);
array[0] = '1';
array[1] = '\0';
int x = atoi(array);
printf("%d",x);
Oppure, più facile:
char array[10];
array = "1";
int x = atoi(array);
printf("%d",x);
Se stai cercando di convertire un char numerico a un int, basta usare l'aritmetica carattere di sottrarre il codice ASCII:
int x = myChar - '0';
printf("%d\n", x);
char c = '1';
int x = c - '0';
printf("%d",x);
È possibile convertire un carattere in una stringa tramite:
char string[2];
string[0] = '1';
string[1] = 0;
Corde terminano con un carattere nullo, che ha il valore 0.
risposta più semplice, senza dover utilizzare alcun buffer intermedi –