Prendre les paramètres dans argv
Bonjour,
Je passe deux paramètres qui sont deux nombres dans argv. Quand j'essaie de les transformer grâce à la fonction atoi(), si j'ai un nombre à plus d'un chiffre seul le premier chiffre est prit et pas les autres. Donc si je passe en argument le nombre 30, la fonction atoi() me renvoi 3.
Voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| int _tmain(int argc, char* argv[])
{
int clé;
int longueur;
int compteur;
Chainon * deb;
Chainon * suivant;
clé = atoi(argv[1])+1861;
longueur = atoi(argv[2]);
printf("argu %d", argv[1]);
compteur = 0;
deb = (Chainon*)malloc(sizeof(Chainon));
suivant = deb;
suivant->lettre = clé % 256;
compteur++;
printf("%d\n", clé);
while (compteur < longueur){
suivant->chainonSuivant = (Chainon*)malloc(sizeof(Chainon));
suivant = suivant->chainonSuivant;
clé = (clé*clé)%49757;
suivant->lettre = clé % 256;
compteur++;
printf("%d\n", clé);
}
compteur = 0;
suivant = deb;
while (compteur < longueur){
printf("%c\n", suivant->lettre);
suivant = suivant->chainonSuivant;
compteur++;
}
return 0;
} |