[C/C++] Passer une variable en argument

Résolu/Fermé
argum2 Messages postés 32 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 16 janvier 2010 - 21 janv. 2008 à 11:57
 Joshlebosh - 22 févr. 2008 à 12:13
Bonjour a tous,
je viens vous ecrire car je dois realiser un programme en ppm pour de la retouche d'image.

Mon "probleme" est le suivant : je voudrais pouvoir saisir durant l'execution de mon programme le nom d'un fichier qu'il affichera a l'aide de imagemagick. D'habitude je fais simplement dans mon programme en C/"C++"
systeme("imdisplay image.pmm);
mais je voudrais donc remplacer le image.ppm par une variable correspondant au fichier que j'aurais saisi durant l'execution de mon programme.

J'espere etre assez clair sinon hesitez pas a me poser des questions et j'espere que cela est possible.
Merci d'avance
A voir également:

7 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 févr. 2008 à 08:42
déjà utilise <string> ça sera plus simple.
il faut créer plusieurs variables, dont une principale qui sert pour la sortie systeme.
cin>>nomPC;
string var_tot="net send " + nomPC + " message à envoyer";
system(var_tot.c_str() );
1
argum2 Messages postés 32 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 16 janvier 2010
21 janv. 2008 à 18:17
excusez moi de relancer ce que j'ai ecrit mais si ce n'est pas possible alors je prefererais qu'on me le dise!
Merci d'avance!
0
Je ne sais pas en C ou C++ mais je peut te dire ce que tu dois faire:
tu va saisir est une variable correspondante au nom du fichier (de type chîne de caratères(pour copier seulement le nom),fichier,nom de fichier...) qui sera X
et tu fais

systeme("imdisplay X.pmm);
0
gbe54 Messages postés 87 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 19 juillet 2010 19
21 janv. 2008 à 20:37
char sTmp[1024];
scanf("%s",sTmp);
printf("%s\n",sTmp);

et voilà...

Sous C++ on peut également le faire avec cin/cout

Bonne chance...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
argum2 Messages postés 32 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 16 janvier 2010
21 janv. 2008 à 23:24
grad, justement , je ne peux pas mettre de variable X dans system("imdisplay X.ppm");
il prend X pour un nom de fichier et ne le trouve pas (logique)

gbe54, tes lignes de codes me permettent de stocker le nom dans un tableau et de le lire a l'ecran (c'est comme sa que je le comprends) donc je ne pense pas que cela puisse resoudre mon probleme(a moins que je n'ai pas compris tout-ce qui est fort possible -)

merci en tout cas de m'aider!!
0
Salut, dis moi j'essaie de faire la même chose que toi.

En fait dans mon programme, il y a un moment ou l'on peut envoyer un net send. Cependant, il me faut passer le nom de la machine destinatrice et le message en variable.
Donc pour la saisie, j'utilise
cin pour le nom du PC
gets (nom_de_la variable) pour le message (étant donné qu'il y a des espaces.

Cependant lorsque je veux mettre ces variables dans system("net send destinataire message") je ne sais pas comment passer mes 2 variables afin que cela puisse fonctionner.

Si tu as réussi, merci de bien vouloir l'expliquer.
0
Merci beaucoup char snipeur de la rapidité de ta réponse. je teste ça cet apres midi.
Si j'ai bien compris donc, de manière générale, pour passer une ou plusieurs variables en attribut dans un system(), il vaut mieux préalablement créer une chaine de caractère et la rentrer en C de la manière suivante:
system(NomChaine.c_str() );

Si c'est bien ca en tout cas je te remercie vraiment beaucoup tu viens de m'enlever une épine du pied. ;-)
0