2017-12-04 3 views
0

Ich habe 2 Dateien, eine, die zufällige Ganzzahlen mit zwei Argumenten, Anzahl der ganzen Zahlen und der Samen erzeugt. Die andere Datei sucht nach einem Wert in einem Array.Piping in c w/h Terminalbefehl: ./process arg | ./process arg

Was ich tun möchte, ist für die erste Datei seiner zufällig generierten Zahlen als Array-Eingang für die zweite Datei zu geben.

wie im Terminal.

./random_no 100 50 | ./find 42 -

Ich weiß, das auf Rohr gemeint ist die Eingabe von random_no in Fund.

das Problem ist, ich weiß nicht, wie zu erhalten oder dass die Eingabe aus der Datei suchen zu manipulieren.

Wenn es keinen Sinn ergibt oder Sie Code als Beispiel sehen möchten, sagen Sie es mir bitte. Thanks :)

+3

Das erste Programm muss in stdout schreiben. Das zweite Programm muss von stdin lesen. –

+4

Bitte nennen Sie nicht Ihr Programm 'find'. Es gibt ein bekanntes Dienstprogramm mit diesem Namen. Das heißt, in dem Programm, das die Zahlen liest, sollten Sie wie erwartet * die Zahlen * lesen. Zum Beispiel mit 'scanf()'. – AlexP

Antwort

1

Sie sollten klären Sie hinterfragen. Mit welchem ​​Betriebssystem haben wir es zu tun? AIX, Linux? Es hilft auch, wenn Sie geklärt haben, was Sie zu erreichen versuchen, da es bessere Wege als das, was Sie versuchen, gibt.

Rohr verwendet Klartext über die stdout und stdin .... Sie sind nicht mit Objekten arbeiten, wie ein Array.

random_no muss auf stdout schreiben und finden würde von stdin lesen müssen.

aber wirklich konnte man viele Standard-Befehlszeilen-Dienstprogramme verwenden, um verschiedene Aufgaben zu erreichen und soll nicht eine C-Anwendung schreiben müssen.

zum Beispiel 42 von dem Ausgang des random_no 50

./random_no 100

"finden" | grep 42

Aber was genau erreicht das?