Existe-t-il un moyen de convertir un caractère en chaîne de caractères dans C?Utilisation de atoi avec char
Je suis en train de le faire comme ceci:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
Existe-t-il un moyen de convertir un caractère en chaîne de caractères dans C?Utilisation de atoi avec char
Je suis en train de le faire comme ceci:
char *array;
array[0] = '1';
int x = atoi(array);
printf("%d",x);
Que diriez-vous:
char arr[] = "X";
int x;
arr[0] = '9';
x = atoi(arr);
printf("%d",x);
Vous devez allouer de la mémoire à la chaîne, puis mettre fin à NULL.
char *array;
array = malloc(2);
array[0] = '1';
array[1] = '\0';
int x = atoi(array);
printf("%d",x);
Ou, plus facile:
char array[10];
array = "1";
int x = atoi(array);
printf("%d",x);
Si vous essayez de convertir char numérique à un int, il suffit d'utiliser l'arithmétique de caractères pour soustraire le code ASCII:
int x = myChar - '0';
printf("%d\n", x);
char c = '1';
int x = c - '0';
printf("%d",x);
Vous pouvez convertir un caractère en une chaîne via l'adresse suivante:
char string[2];
string[0] = '1';
string[1] = 0;
cordes se terminent par un caractère NUL, qui a la valeur 0.
réponse sans avoir Simplest utiliser des tampons intermédiaires –