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
A voir également:
- Probleme language c
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Language binaire - Guide
- Photoshop cs6 french language pack - Forum Photoshop
- Autocad 2008 language pack french - Forum AutoCAD
6 réponses
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
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)
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)