popen: Ein- UND Ausgabe kontrollieren??

Diskutiere mit über: popen: Ein- UND Ausgabe kontrollieren?? im Mac OS X Entwickler, Programmierer Forum

  1. calinux

    calinux Thread Starter MacUser Mitglied

    Beiträge:
    64
    Zustimmungen:
    0
    Registriert seit:
    28.09.2004
    Hallo zusammen,

    vielleicht kann mir von euch ja jemand bei meinem Problem helfen - bzw. mir nen kleinen Tipp geben..

    Worum es geht? Ich schreibe gerade an nem kleinen Kommandozeilentool und möchte ein anderes Programm aufrufen - und eben dessen Eingabe- UND Ausgabekanal mittels pipes "kontrollieren"..

    Das Problem ist: mit popen kann ich ja nur entweder auf den stdin des aufzurufenden Programms schreibend ODER lesend auf dessen stdout zugreifen - und wenn ich zwei mal "popen" aufrufe, starte ich ja zwei verschiedene Instanzen des aufgerufenen Programms, oder??
    Bin echt verwirrt - wie man vielleicht auch an meinem Satzbau erkennen kann ;)

    Versteht von euch einer was ich meine?
    Und weiß vielleicht sogar noch jemand eine Lösung dazu? :)

    Grüßle ausm (fast) sonnigen Süden ;)

    edit: lesend und schreibend gegeneinander ausgetauscht
     
    Zuletzt bearbeitet: 26.06.2006
  2. der_Kay

    der_Kay MacUser Mitglied

    Beiträge:
    1.693
    Zustimmungen:
    7
    Registriert seit:
    02.09.2004
    Ohne es ausprobiert zu haben:

    Code:
    ... = popen( ..., "r+" );
    Aus der man-page:
    "Since popen() is now implemented using a bidirectional pipe, the type argument may request a bidirectional data flow. The type argument is a pointer to a null-terminated string which must be [...]`r+' for reading and writing."

    Grüße,

    Kay
     
  3. calinux

    calinux Thread Starter MacUser Mitglied

    Beiträge:
    64
    Zustimmungen:
    0
    Registriert seit:
    28.09.2004
    Hi Kay,

    Danke für die Info - habs jetzt auch gesehen.. Allerdings ist das wohl nur eine kurzzeitige Lösung für mich, da bidirektionale pipes nicht von alles Unix-Systemen unterstützt werden (leider :( ) - es soll aber auch unter linux und solaris funktionieren - aber trotzdem nochmals Danke!

    Ich glaub für nen posix-kompatiblen Weg muss ich mir "ein eigenes" popen mit Hilfe von pipe, fork, execl basteln *grml*

    Grüßle :)
     
Die Seite wird geladen...
Ähnliche Themen - popen Ein Ausgabe Forum Datum
Xcode: drag & drop geht nicht (um ein Code Snippet zu erstellen) Mac OS X Entwickler, Programmierer 26.10.2015
Ein Bild "programmieren" -> Mit welcher Umgebung und möglichst geringem Aufwand Mac OS X Entwickler, Programmierer 09.01.2015
Tool zum intuitiven Verschieben des Dokumente-Ordners auf ein anderes Volume Mac OS X Entwickler, Programmierer 11.01.2014
Ein Programm mit Parametern öffnen Mac OS X Entwickler, Programmierer 15.05.2013
Informatiker möchte "mal eben schnell" ein kleines OSX App entwickeln - Büchertipps? Mac OS X Entwickler, Programmierer 20.03.2013

Diese Seite empfehlen

Benutzerdefinierte Suche