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.


Anmelden zum Antworten