argv - C++ - Programmation
Marsh Posté le 14-01-2006 à 18:41:04
non. argv c'est les arguments en ligne de commande. std::cin l'entrée standard.
int i;
std::istringstream input("1" );
input >> i;
Marsh Posté le 14-01-2006 à 18:42:38
ha ben je me suis mal exprime alors c'est les arguments en ligne de cmd que je veut convertir en int.
Marsh Posté le 14-01-2006 à 18:57:18
ouais mais ton tableau foo la il contient des char pas des int.non?
Marsh Posté le 14-01-2006 à 19:13:24
ben je veut faire des operation sur des valeur numerique que je donne a l'execution de mon programme:
./monprog 6 9 5
et je recupere ces valeurs avec arvg[], mais le probleme c'est que je veut les passer en int pour pouvoir les traiter.
Marsh Posté le 14-01-2006 à 19:15:06
Non non, ce sont bien des entiers (extrait du man : int atoi (const char *nptr);).
Mais comme le faisait remarquer Taz avec tact ;-) c'est l'écriture C.
Voici une autre version un peu plus plus :
Code :
|
Marsh Posté le 14-01-2006 à 19:18:21
ok merci je vais essayer ca.
et foo tu la declare en quoi?
Marsh Posté le 14-01-2006 à 19:33:14
j'ai une erreur a la compil
Code :
|
il faut declare quelque chose pour utilise std::istringstream?
Marsh Posté le 14-01-2006 à 19:47:58
Mieux encore pour la détection d'erreur
Code :
|
Marsh Posté le 14-01-2006 à 19:49:50
ok, c'est bon il me manquer la librairie include <sstream>.
Merci!!
Marsh Posté le 14-01-2006 à 20:33:45
pourquoi pas ecrire
Code :
|
?
Marsh Posté le 14-01-2006 à 20:36:05
parce que c'est un pointeur vers un tableau, donc *argv[] ou **argv, et que les arguments d'entrée sont toujours des chaines de caracteres, donc char *argv[] ou char **argv
Marsh Posté le 14-01-2006 à 21:48:37
c'est pas un pointeur vers un tableau, c'est un pointeur de pointeur de char. char *argv[] et char **argv. c'est la même chose. après le système de fourni les arguments sous forme de chaine de caractères, c'est comme ça
Marsh Posté le 14-01-2006 à 21:51:06
et encore moi, j'ai une petite question, voia apres avoir choper ce que je met en ligne de commande, je fais la somme de tout ca avec:
Code :
|
mais je voudrais voir chaque etape c'est a dire mettre ca dans une boucle et modifier items.end() en le faisant commence sur le premier truc de mon vector et en l'incrementant jusqu'a arrivée a items.end()
Mais je sais pas du tout comment mis prendre.
Marsh Posté le 15-01-2006 à 12:01:55
for( (letype de items)::const_iterator it=items.begin();it !=items.end();it++)
{
//ton code, et tu récupère le contenu ac *it
}
Marsh Posté le 14-01-2006 à 18:27:01
Salut,
voila je recupere mon entre standars avec argv et je voudrais pouvoir le convertir en int.
C'est possible?
Je debute.