Im C-Programm eine externe Anwendung starten bzw. aufrufen!!!



  • Hallo!
    Ich würde gerne in meinem C-Programm eine if Abfrage machen.
    Sobald meine Forderung erfüllt ist, würde ich gerne eine eigenständige Anwendung sprich eine .exe starten.
    Wie lautet denn dafür der Befehl, um den dann genannten Pfad aufzurufen?
    Danke!!!



  • Das kannst du mit system() erreichen.



  • Wie lautet denn dafür der Befehl, um den dann genannten Pfad aufzurufen?

    der Standard stellt dafür nichts bereit - unter Win32 gehts mit winexec - einfach mal in der Doku nachschauen



  • Vertexwahn schrieb:

    der Standard stellt dafür nichts bereit

    Was du nur immer mit deinem Standard hast. Zumal system() vollkommen ANSI C kompatibel ist. 🙄



  • ok ich muss mich korregieren

    C99 schrieb:

    7.20.4.6 The system function Synopsis

    1 #include <stdlib.h>
    int system(const char *string);

    Description
    2 If string is a null pointer, the system function determines whether the host
    environment has a command processor. If string is not a null pointer, the system function passes the string pointed to by string to that command processor to be executed in a manner which the implementation shall document; this might then cause the program calling system to behave in a non-conforming manner or to terminate.

    Returns
    3 If the argument is a null pointer, the system function returns nonzero only if a command processor is available. If the argument is not a null pointer, and the system function does return, it returns an implementation-defined value.

    dachte system hätte nichts mit dem C Standard zu tun, sondern ist was das nur MS Compiler haben 😉

    system("pause");
    

    mmh... cool das sowas Standardkonform ist 😉

    PS @TactX : ich bin halt Standardgeil - ich versuche mich zu bessern und in Zukunft nicht mehr so einen Müll zu verzapfen 😉



  • #include <stdio.h> 
    
    int main(void) 
    {
    	system("C:\\WINDOWS\\system32\\mspaint.exe");	// MS Paint aufrufen
    	system("pause");								// warten bis Taste gedrückt wird
    }
    


  • veilleicht ist es so schöner:

    #include <stdio.h> 
    
    int main(void) 
    {
    	system("C:/WINDOWS/system32/mspaint.exe");	// MS Paint aufrufen
    	system("pause");								// warten bis Taste gedrückt wird
    }
    

    bin mir nicht sicher, aber für pfadangaben sollte man doch / verwenden und nicht \\ oder?



  • Vertexwahn schrieb:

    PS @TactX : ich bin halt Standardgeil - ich versuche mich zu bessern und in Zukunft nicht mehr so einen Müll zu verzapfen 😉

    Das ist ein Wort 😉



  • \ ist unter windows der trenner für pfade
    / geht aber idr auch

    system("pause");
    ist etwas tricky, weil system zwar im standard festgelegt ist, aber was es mit dem string macht (also wie er interpretiert wird) ist implementation defined.


Anmelden zum Antworten