dateien ausführen
-
vorweg: ich hab die suchfunktion benutzt aber nichts passendes gefunden.
also ich wollte ein programm in c++ schreiben was unteranderem dateien ausführen können müsste wo der nahme mit pfad in einem string gespeichert ist(also meinet wegen pfad="C:\test.exe"), da ich noch nicht wirklich lange mit c++ programmiere hab ich nicht ganz die ahnung wie ich das machen soll. also hatt ich als notlösung das programm einfach eine batch datei schreiben lassen und die dann mit dem system befehl ausführen lassen
ja ich weiß das man system nicht verwenden soll und das das was ich da fabreziert habe wohl zimlicher mist is aber irgendwie hatt ich bis jetzt keine alternative gefunden also dacht ich mir frag ich halt hier malich hoffe ihr könnt mir weiterhelfen
-
winapi
shellexecute
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp
oder
createprocess
http://msdn.microsoft.com/library/en-us/dllproc/base/createprocess.asp
-
thx fürs schnelle antworten
gibts auch eine möglichkeit das das unter windows und linux funzt?
denn so wie ich das gesehen hab geht das nur unter win, oder irr ich mich?
-
system() ist eine Standard-Funktion, du sollest aber besser die OS Funktionen verwenden und per Pre-Processor entscheiden ob die Linux oder die Windows Variante zum Einsatz kommen soll
-
FireFlow schrieb:
system() ist eine Standard-Funktion, du sollest aber besser die OS Funktionen verwenden und per Pre-Processor entscheiden ob die Linux oder die Windows Variante zum Einsatz kommen soll
Aber ich dachte mit system("<Pfadname>"); des funktioniert nur gescheit unter Windows, oder irre ich?
Naja gut, die WinAPI auch
-
Wenn du den Pfad relativ angibst sollte es auch unter Linux klappen.
-
das prob is das er bei mir mekert wenn ich hinter system ne variable(oder halt n string) packe, er nimmt irgendwie nur feste pfade und das soll ja nicht, wenn mir wer zeigt wie man das mit system machen kann bin ich auch schon zufrieden
-
Wo ist das problem??
int main() { std::string file; std::getline(std::cin, file, '\n'); int prog = system(file.c_str()); std::cout << file << " has exited with code " << prog; }