"system(..)" et string

"system(..)" et string - C++ - Programmation

Marsh Posté le 08-09-2008 à 14:52:36    

Bonjour,
 
Je souhaiterais utiliser la commande " system(..) " dans un programme c++ mais en paramétrant l'argument comme une chaine de charactéres.
En effet, je voudrais pouvoir avoir un argument variable en entrée de la commande.
 
Ainsi, j'ai défini un ostringstream pour cela mais je ne sais pas comment poursuivre l'écriture.
 

Code :
  1. ostringstream oss;
  2. oss.str("touch my_file" );
  3. system(oss); // PAS CORRECT


 
Pourriez-vous m'aider et me montrer comment procéder ?
Ou se trouve mon erreur ?
 
Merci d'avance

Reply

Marsh Posté le 08-09-2008 à 14:52:36   

Reply

Marsh Posté le 08-09-2008 à 15:19:52    

system( oss.str().c_str());

Reply

Marsh Posté le 08-09-2008 à 16:02:05    

OK,
 
Merci beaucoup de ton aide,

Reply

Marsh Posté le 13-09-2008 à 10:35:23    

system() ne doit jamais être utilisé. (on fait du C++, pas du scripting)
C'est même proscrit en environnement de Prod chez tous mes clients, bancaires et industriels (normal)

Reply

Marsh Posté le 13-09-2008 à 11:36:45    

On appelle comment alors une commande externe en c++ :??:

Reply

Marsh Posté le 13-09-2008 à 11:38:30    

avec des trucs propres à ton système genre fork/pipe/popen/posix_spawn/etc

Reply

Marsh Posté le 13-09-2008 à 11:50:56    

et on appelle pas de commande externe pour une fonction accessible depuis le langage :o

Message cité 1 fois
Message édité par kadreg le 13-09-2008 à 11:51:04

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 13-09-2008 à 11:55:40    

kadreg a écrit :

et on appelle pas de commande externe pour une fonction accessible depuis le langage :o


ça c'est clair, mais quand on fait un IDE, par exemple, on doit souvent faire appel à des programmes externes.

Reply

Marsh Posté le 13-09-2008 à 11:57:17    

c'est pipe, puis fork/exec :spamafote:
 
ça permet de érer facilement les E/S standards.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 13-09-2008 à 12:26:22    

et de faire de la redirection de sortie.
clair que popen & co ont l'air plus sexy

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed