2017-02-28 4 views
-1

Ich möchte eine ausführbare Datei von einer C-Anwendung aufrufen. Hier ist mein Code:execl Befehl in c unter Linux Ubuntu

execl("/home/ion/workspace/DNS/Debug","DNS","216.58.198.164","A",(char*)NULL); 

wo IP und "A" sein sollen argv [1] und argv [2]

Diese Anwendung namens DNS soll etwas eine Datei schreiben, aber es ist funktioniert nicht, wenn ich es mit execl so anrufe. Kann mir bitte jemand helfen?

+0

Wenn Sie [die 'exec'-Seite lesen] (http://man7.org/linux/man- pages/man3/exec.3.html) werden Sie sehen, dass die Argumentliste mit einem "NULL" -Zeiger beendet werden muss. –

+0

@Someprogrammerdude Immer noch nicht funktioniert – joesid

+0

Dann können Sie näher auf die "nicht funktioniert" Teil? Schlägt der 'execl' Aufruf fehl (d. H. Es gibt' -1' zurück)? Wenn ja, was ist der Wert von "errno" (Ausdruck mit z. B. "perror")? Und wenn möglich, versuche bitte ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) zu erstellen und zeig es uns. –

Antwort

1

Ihr Anwendungsname (DNS) sollte (Pfad) im ersten Argument angegeben werden

execl("/home/ion/workspace/DNS/Debug/DNS","DNS","216.58.198.164","A",(char*)NULL);