Gibt es eine Möglichkeit, ein Programm und/oder Datei innerhalb eines laufenden c Programm mit einem Dateizeiger
Es ist nicht wirklich klar, was Sie fordern, damit ich laufen versuchen Sie, Ihnen etwas davon zu zeigen, wie Sie es tun können.
Vielleicht sprechen Sie über execve()
:
int execve(const char *filename, char *const argv[], char *const envp[]);
wo execve()
das Programm, auf den Dateinamen ausführt und argv
ist ein Array von Argument-Strings in das neue Programm übergeben. Ähnlich gibt es fexecve()
, die genauso funktioniert wie execve()
mit dem Unterschied, dass die auszuführende Datei über einen Dateideskriptor fd
statt über einen Pfadnamen angegeben wird.
Oder Sie können system()
zum Ausführen eines Programms verwenden. Zum Beispiel:
int result = system("./myProgram 2 3");
Dies wird für MyProgram warten ausgeführt werden, wird dann die Exit-Wert erhalten.
Last but not least können Sie fork()
einen Systemaufruf verwenden, um Prozesse zu erstellen.
Haben Sie ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve). –