Variablen in system() übernehmen?

Phantome_Phreak

Grünschnabel
Hallo,

habe ein kleines problem und zwar möchte ich wissen wie ich variablen in system() übernehmen kann?

habe eine variable in meinem programm welche ich benutzen möchte um später im system() auszuführen.

Meine variable heisst in meinem fall "command"

system(command) , system(<<command<<) hab ich versucht, jedoch klappt dies nicht...

wäre super wenn mir jemand weiterhelfen könnte

MfG Tom
 
Hallo,

habe ein kleines problem und zwar möchte ich wissen wie ich variablen in system() übernehmen kann?

habe eine variable in meinem programm welche ich benutzen möchte um später im system() auszuführen.

Meine variable heisst in meinem fall "command"

system(command) , system(<<command<<) hab ich versucht, jedoch klappt dies nicht...

wäre super wenn mir jemand weiterhelfen könnte

MfG Tom
Was ist den deine Variable für ein Typ, denn eigentlich sollte es funktionieren (ist bei mir zumindest so)?
Ansonsten, wenn gar nichts mehr nützt, kannst du deine Befehle auch eine Datei schreiben, die du "*.cmd" nennst. Diese Datei kannst du dann mit dem system-Befehl starten und er führt die darin geschriebenen Befehle nacheinander aus.

MfG
MSAB
 
Code:
string rdesktop;
string extension;
string command;
rdesktop="/usr/bin/rdesktop ";
extension=" -u remote -p remote -f -a 24";

string ipadress;
fstream file_op("/home/user/rdesktop.ip",ios::in);
while(file_op >> ipadress)
file_op.close();

command =rdesktop + ipadress + extension;

system(command);
wegen der letzten Zeile bekomme ich beim kompilieren folgende fehlermeldung:

Code:
error: cannot convert 'std::string' to 'const char* for argument '1' to int system(const char*)'
 
Wie die Fehlermeldung schon sagt, braucht er für den System()-Befehl einen "const char*", du benutzt aber einen std::string als Variable.
Mit anderen Worten du musst deinen Befehl erstmal umwandeln, das machst du glaube ich am Besten mit "c_str()"

Also so z.B.:
Code:
...
command =rdesktop + ipadress + extension;
const char* char_command = command.c_str();

system(char_command);

MfG
MSAB
 
Zurück