Problem mit WinExec
-
Hallo, ich hab eine Datei mit folgendem Inhalt:
Diese Datei liegt in diesem Pfad: c:\my_folder\create_file.exe
#include <iostream> #include <fstream> int main(int argc, char* argv[]) { ofstream file ("file.txt"); return 0; }
Mein Programm create_file.exe führe ich über ein anderes Programm aus, das mache ich so:
#include <iostream> #include <fstream> int main(int argc, char* argv[]) { WinExec("c:\\my_folder\\create_file.exe",SW_NORMAL); return 0; }
Das Problem ist jetzt folgendes, mein Programm create_file.exe wird zwar ausgeführt aber die Datei file.txt wird einfach nicht im Ordner c:\my_folder erstellt.
Ich habe ganze auch schon mit ShellExecute und system("start c:\my_folder\create_file.exe") getestet beides funktionierte nicht die Textdatei wurde einfach nicht erstellt.
Wenn jedoch mein Programm create_file.exe im selben Ordner liegt wie das Programm welches es ausführt dann funktioniert es.
Auch wenn das Programm create_file.exe im Ordner c:\my_files liegt und ich es per doppelklick starte wird die Textdatei erstellt.
Was mache ich da falsch mit dem WinExec ?
-
Oops sry in meinen Headern fehlte noch die #include <windows>
Hatte ich gerade vergessen mit rein zu schreiben.( Nein mein Problem ist leider noch immer nicht gelöst
)
-
Ok hab den Fehler gefunden.
Hier die Lösung:#include <iostream> #include <fstream> int main(int argc, char* argv[]) { ofstream file ("c:\\my_folder\\file.txt"); return 0; }
04:28 Uhr ich sollte schlafen gehen ... mhhm das tu ich jetzt auch. :->
-
Win* schrieb:
Was mache ich da falsch mit dem WinExec ?
Dass du es nicht mehr verwenden solltest?
Note This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function.
Und deine realtiven Pfade bzw. gar keine Pfadangaben sind auch etwas riskant.