problème con : recupérer une variable passée en paramètre - C - Programmation
Marsh Posté le 30-10-2003 à 12:43:36
C'est par que 10 n'est pas un Int mais un char*
fais un
Code :
|
pour voir.
A+
Marsh Posté le 30-10-2003 à 12:45:08
-keiji- a écrit : C'est par que 10 n'est pas un Int mais un char*
pour voir. |
Code :
|
Marsh Posté le 30-10-2003 à 12:47:07
ReplyMarsh Posté le 30-10-2003 à 12:48:54
ou puts(argv[1]) en plus court
49 c'est le code ASCII du 1 je crois bien. Ca affiche bien le 1er caractère de la chaîne
Marsh Posté le 30-10-2003 à 12:49:28
Bon alors on va essayer d'être clair:
argv est du type char**, ce qui signifie que c'est un tableau de pointeur vers des char.
Maintenent si tu veux afficher le premier, en partant de l'ypothése qu'il est défini, il faut faire:
Code :
|
Et si jamais tu veux récupérer sa valeur dans un int:
Code :
|
Marsh Posté le 30-10-2003 à 14:01:39
merci bcp !
c vrai que en y repensant j'aurai pu trouver lol mais par contre j'aurai pas forcément su comment le transformer en entier !
bon au moins mon client avance lol même si il marche pas lol
Marsh Posté le 31-10-2003 à 04:42:29
Sinon lol y'a aussi strtoll() lol qui est plus simple que scanf() (et donc plus rapide lol)
Marsh Posté le 30-10-2003 à 12:39:14
bon voila je sais bien que c un peu bête mais bon...
j'utilise argv[1] pour tenter de récupérer mon premier paramètre qui est un entier
donc quand je tape dans la ligne de commande :
client 10 ENVOIE adbis
si je fais un printf("%d", *argv[1]); il me retourne 49
ce qui ne correspond pas trop à 10.
(pourtant argv[2] me retourne ENVOIE, et argv[3] me retourne adbis);
mon main :
int main (int argc, char *argv[])
si quelqu'un pouvait m'aider ça serait sympa.