Je voudrais tester si l'argument que l'utilisateur ecrit sur la ligne de commande est bien un entier
Je voudrais tester si l'argument que l'utilisateur ecrit sur la ligne de commande est bien un entier
Bonsoir,
C'est simple : il suffit de convertir ta chaîne en entier en utilisant strtol
strtol() prend trois arguments : le premier c'est la chaîne à convertir, le deuxième c'est un pointeur vers un char* qui sert à indiquer le premier caractère de la chaîne qui est "incorrect". Si ce pointeur pointe sur le caractère nul terminal, la chaîne contenait bien un entier. Le troisième argument, c'est la base (10 en général). La fonction retourne le nombre converti.
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdlib.h> #include <stdio.h> int main(int argc, char** argv) { if (argc == 2) { char* ptr; long result = strtol(argv[1], &ptr, 10); if (*ptr == '\0') printf("C'est bien un entier: %ld\n", result); else printf("Ce n'est pas un entier.\n"); } return 0; };
Responsable technique forum & site
Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager