Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Nicolas

  1. #1
    Registrierter Benutzer Avatar von Nicolas
    Registriert seit
    17.06.2000
    Ort
    BW
    Beiträge
    65

    Ausgabe von einem Programm in ein anderes umleiten

    Hallo!

    Ich möchte ein Programm schreiben, dass Ausgaben von einem anderen Programm nutzt. Das soll dann so ähnlich sein wie bei dem Befehl dialog --gauge. Das Programm soll also reagieren, wenn das andere Programm eine neue Ausgabe macht. Das soll dann so aufgerufen werden:
    programm | mein_programm

    Ich hoffe, ich habe mich verständlich ausgedrückt.


    Für eine Hilfe wäre ich dankbar.
    Geändert von Nicolas (30-03-2002 um 16:42 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Trillian
    Registriert seit
    27.04.2001
    Beiträge
    180
    Falls du das in C machen willst, guck mal in den C Kurs von www.pronix.de - da steht dazu was (Pipes heissen die Dinger ).

  3. #3
    Registrierter Benutzer Avatar von Nicolas
    Registriert seit
    17.06.2000
    Ort
    BW
    Beiträge
    65

    Wink

    Das ist nicht ganz, was ich will. Dort steht nur, wie man in einem Programm mit einem anderen Programm komuniziert. Aber ich möchte die Daten von der Standardeingabe benutzen.

    Ich hab jetzt schon ein Programm geschrieben, das das macht. Wenn ich das Programm mit "echo Hallo | ./a.out" aufrufe funktioniert es. Aber wenn ich es mit "echo Hallo && sleep 1 && echo Hallo | ./a.out" aufrufe, schreibt das Programm nur das erste Hallo in die Datei. und mit einer Endlosschleife wird das Hallo bis ich das Programm abbreche geschrieben. Das Programm muss also die Daten aus der Standardeingabe "fressen".

    Hier ist der Quellcode:
    #include <stdio.h>

    int main() {
    FILE *datei;
    char puffer[255];

    fgets(puffer,255,stdin);

    datei = fopen("test", "w");
    fprintf(datei,puffer);
    }
    Geändert von Nicolas (31-03-2002 um 18:20 Uhr)

  4. #4
    Registrierter Benutzer Avatar von Nicolas
    Registriert seit
    17.06.2000
    Ort
    BW
    Beiträge
    65

    Thumbs up

    Endlich funktioniert's

    #include <stdio.h>

    int main()
    {
    FILE *datei;
    int c;

    datei = fopen("test", "w");
    while((c=getchar())!=EOF)
    putc(c,datei);
    return 0;
    }

    Außerdem war mein Aufruf falsch. Er hätte "{ echo Hallo && sleep 1 && echo Hallo; } | ./a.out" heißen müssen.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •