Doublons possibles:
Comment convertir un seul caractère en un int
Caractère entier en C
Quelqu'un peut-il me dire comment convertir une char
en int
?
char c[]={'1',':','3'};
int i=int(c[0]);
printf("%d",i);
Quand j'essaye ça, ça donne 49.
Autrefois, quand on pouvait supposer que la plupart des ordinateurs utilisaient du code ASCII, on ne faisait que
int i = c[0] - '0';
Mais en ces jours d'Unicode, ce n'est pas une bonne idée. Ce n'était jamais une bonne idée si votre code devait être exécuté sur un ordinateur non-ASCII.
Edit: Bien que cela ait l'air hack, il est évident que est garanti par la norme de fonctionner Merci @Earwicker.
La fonction standard atoi()
fera probablement ce que vous voulez.
Un exemple simple en utilisant "atoi":
#include <unistd.h>
int main(int argc, char *argv[])
{
int useconds = atoi(argv[1]);
usleep(useconds);
}