• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Externes Programm aus C Script starten

Nobbi

Empire
Registriert
30.12.06
Beiträge
88
Guten abend zusammen,

ich möchte ein Programm (hier Gnuplot) aus einem C-Script starten, in dem Werte berechnet werden. Unter Windows geht das mit Shell "...." ´. Gibt es auch einen Befehl beim Mac der so etwas kann?

Schöne Grüße
Nobbi
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Was meinst Du mit "C-Script"? Ein Script? Ein C-Programm?

Wir entscheiden uns mal für C-Program. Hier kannst Du (wie bei, schauder, Windows) system (3) verwenden. Damit bekommst Du aber nur den "Result Code" zurück.

Falls Du andere Ausgaben des Programms brauchst, ist popen (3) das Mittel der Wahl

Alex
 

Nobbi

Empire
Registriert
30.12.06
Beiträge
88
Ja ein C-Programm,

ich will eigentlich nur Gnuplot '*.sav'
starten, mit den beiden Befehlen bekomme ich nur Fehlermeldungen.

Gruss
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
ich will eigentlich nur Gnuplot '*.sav'
starten, mit den beiden Befehlen bekomme ich nur Fehlermeldungen.

Meine Glaskugel ist leider immer noch in Reparatur, daher muss ich Dich bitte, die Fehlermeldungen doch einmal zu posten.

Grundsätzlich kann man aber sagen, dass man sich auf globbing (also auf den '*') in nicht-interaktiven Shells (und so eine bekommst Du hier) nicht verlassen kann.
Siehe auch: http://promberger.info/linux/2009/0...nd-find-regular-expressions-in-shell-scripts/

Alex
 

Nobbi

Empire
Registriert
30.12.06
Beiträge
88
ich hatte es so verstanden, dass ich system(gnuplot 'praktikum.sav') in meinen C-Code schreibe und er das Programm dann ausführt (analog zu dem Windows Befehl). Stattdessen meckert er 'Gnuplot was not declared in that scope' und 'Character or constant too long for this type'.
Das in der Klammer hinter system wäre das, was ich so direkt ins Terminal tippen würde um das Programm "manuell" zu starten

Gruss
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Stattdessen meckert er 'Gnuplot was not declared in that scope' und 'Character or constant too long for this type'.

Da hat er ja auch völlig recht. system (3) erwartet einen C-String, also system ("echo foo");

Alex