Probleme language c
ksta
-
ksta -
ksta -
Bonjour,
je voudrais mettre une condition dans mon programme pour savoir si mon argv est compris entre 1 et 10 donc jai mis directement if (argv >= 1 && argv <= 10) mais il me dis invalid comparaison between integer et pointer... en vrai je suis daccord mais je narrive pas a voir comment regler ce probleme
je voudrais mettre une condition dans mon programme pour savoir si mon argv est compris entre 1 et 10 donc jai mis directement if (argv >= 1 && argv <= 10) mais il me dis invalid comparaison between integer et pointer... en vrai je suis daccord mais je narrive pas a voir comment regler ce probleme
Configuration: FreeBSD Firefox 2.0.0.6
6 réponses
-
-
je ne souhaite pas tester mon nombre d'argument mais ce qu'il contient, cest la que ca coince....
-
-
je crois que tu n'as pas compris ma question...
je vais t'expliquer exactement ce que je souhaite obtenir.
mon prog dois comporter des options du style : ./a.out 1 ou ./a.out 2 ou 3 ou 4 etc...
je teste donc si mon argv[1] == '1' // Deja est ce que je me trompe des le debut ??
si argv[1] == '1'
je fais mes ptit calcul et ensuite je demande a lutilisateur de taper un nombre compris entre 1 et 10 car mon option 1 demande une seconde valeur
donc je teste : si argv[2] >= '1' && argv[2] <= '10' mais ca ne fonctionne pas... je me rend bien compte que je fais la mauvaise manip mais je ne veux pas a avoir a transformer une chaine en entier via getnbr a chaque fois... je ne sais pas encore.
bref jespere avoir ete assez clair dans ma question... merci par avance -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
C'est simple, argv est un tableau de chaine de caractère.
donc un pointeur sur pointeur.
utilise les fonctions C de comparaison de chaines de caractères
si je me souviens bien, ta strcmp pour comparer. donc strcmp(argv[1],"1").
Sinon tu transforme dabord argv[1] en entier (avec atoi() je crois), et tu le compare comme ça :
int pouet = atoi(argv[1]);
if(pouet >=1 && pouet <= 10) -
merci beaucoup , jai utiliser strcmp.
jai preferer cette solution car je ne voulais avoir a declarer plusieur variable.
merci encore
a+