Pages : 1
#1 Le 19/10/2013, à 10:35
- temps
[résolu] argument du main en C
Bonjour,
j'ai déja passé des arguments de type char sans problème en langage C en utilisant
int main(int argc, char *argv[]) {
je voudrai récupéré des arguments de type int,
j'ai donc écris
entier1 = (int)*argv[1];
l'application se compile très bien, mais ne fonctionne pas comme j' l’attends.
quand je fais un
printf("entier1 est %d\n",entier1);
pour vérifier que l'argument entier est bien passé, je m’aperçois que la valeur affichée, n'est pas celle que je donne en argument.
est-ce que quelqu'un sait comment manipuler ce tableau pour que je garde ma valeur ?
Cordialement
Dernière modification par temps (Le 19/10/2013, à 11:08)
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne
#2 Le 19/10/2013, à 11:01
- jplemoine
Re : [résolu] argument du main en C
Mes cours de C date de 1992 !!! Donc, un peu d'indulgence, s'il vous plait....
De mémoire, ta syntaxe n'est pas bonne : il faut faire un pointeur sur un entier et pas un cast.
Si tu veux un tableau d'entier, la variable doit avoir des [] mais il n'y a de (int).
le (int) est pour faire du cast (c'est à dire un changement de type de variable).
var_char = '3'
var_int = (int) var_char
var_int va valoir le chiffre trois alors que var_char vaut le caractère 3 (soit 51 en ascii si la mémoire est bonne).
Il faut faire un truc du genre...
int main(int argc, int *arg_int) {
...
arg_int = 3 (par exemple)
...
}
En appelant le main
main (toto, titi)
titi devra être égal à 3.
voir là et là (paragraphe sur le passage de paramètres par référence).
Cordialement,
Jean-Philippe
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 19/10/2013, à 11:04
- temps
Re : [résolu] argument du main en C
Bonjour,
je poste en résolu, en fouillant sur les forum nunux, j'ai trouvé une solution possible, la voici en utilisant la fonction atoi
entier1 = atoi(argv[1]);
Merci pour la réponse de jplemoine, nos messages ce sont croisés.
Cordialement
Dernière modification par temps (Le 19/10/2013, à 11:07)
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne