prozess auslesen und öffnen
-
ich benutze linux(falls es wem intessiert) ich wollte ein konsolenprgramm öffnen
und ausführen lassen und die ausgabe auslesen... ich habe ein beispielcode gefunden und schon ein bisschen verändert, aber das programm wird nicht gefunden/bin/sh: ./kdsl: Datei oder Verzeichnis nicht gefunden Betätigen Sie die Eingabetaste, um fortzufahren!
und wie man ausliest weiß ich nicht.
außerdem weiß ich nicht wasstrcat
macht. kann mir jemand weiterhelfen.
#include <unistd.h> #include <iostream> #include <sys/wait.h> #include <stdio.h> #include <sys/types.h> #include <fcntl.h> int fglrxconfig() { FILE *pipe,*pfad; char pfad_fglrxconfig[255]; pfad=popen("which fglrxconfig", "r"); if(pfad == NULL) { fprintf(stderr,"Konnte keine Pipe zu \'which\' erstellen!\n"); exit(0); } fscanf(pfad,"%s",pfad_fglrxconfig); pclose(pfad); strcat(pfad_fglrxconfig, " -n -oi -t"); pipe=popen(pfad_fglrxconfig, "w"); if(pipe == NULL) { fprintf(stderr, "Konnte keine Verbindung zu fglrxconfig aufbauen!n"); exit(0); } fflush(pipe); pclose(pipe); return 0; } int main(int argc, char **argv) { fglrxconfig(); return 0; }
-
xcep schrieb:
außerdem weiß ich nicht was
strcat
macht. kann mir jemand weiterhelfen.
/bin/sh: man strcat
-
Im Linux-Forum könnte man dir bestimmt weiterhelfen.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Zeig doch mal, wie Du die Sourcen kompiliert hast und wie Du versuchst, das Programm zu starten.
-
Ich bin mir zwar nicht sicher, aber ich vermute, der Fehler liegt in der Zeile
pfad=popen("which fglrxconfig", "r");
Meines Wissens ist "which" ein bash- bzw. csh-interner Behfehl. popen() ruft die Zeile in der /bin/sh auf (wird unter Linux von der bash emuliert), vielleicht kennt die sh diesen Befehl nicht, zumindest unter Cygwin ist das so:
/home/graefe 101> which sh
/bin/sh
/home/graefe 102> sh
`pwd` \!> which sh
which: not found
`pwd` \!>Martin