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 auchsystem("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.