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

Résolu
argum2 Messages postés 33 Statut Membre -  
 Joshlebosh -
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

7 réponses

Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
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 33 Statut Membre
 
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
grad
 
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 Statut Membre 19
 
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 33 Statut Membre
 
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
Joshlebosh
 
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
Joshlebosh
 
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