Zwei C Programme verbinden?
Hi! Ich brauche Hilfe bei einer Übung. Ich soll drei kleine Programme in C schreiben. Beim ersten soll ich so viele zufällige Zahlen generieren wie ich im Kommandozeilen Aufruf mitgebe. Das hab ich hinbekommen. Jetzt soll ich aber ein weiteres Programm schreiben, dass Zahlen einließt diese verdoppelt und dann wieder ausgibt. Soweit so gut. Ich soll jetzt aber mit dem Aufruf auf der Kommandozeile ./funktion1 10 | ./funktion2 die zufälligen Zahlen erstellen und dann verdoppelt ausgeben. Ich weiß aber nicht wie ich diese Programme verbinde. Könnt ihr mir helfen? LG
3 Antworten
Pipe nimmt die Ausgabe von stdout und gießt die nach stdin. Also mit scanf kannst Du die Zahlen lesen. Musst die dann nur verdoppelt ausgeben.
Danke für deine Antwort. Bisher habe ich die Zahlen aus dem ersten Programm in einer for-Schleife mit printf() ausgeben lassen. Da hat das zweite Programm dann immer nur mit EINER Zahl gearbeitet. Kann ich die zweite Funktion so bearbeiten, dass irgendwie mehrere Zahlen genommen werden? Oder soll die erste Funktion besser einen String-Text mit allen Zahlen untereinander ausspucken, wo ich dann anhand der \n den String trenne, die Zahlen in int konvertiere dann verdopple und dann nochmal als String-Text ausgebe?
Keine Ahnung, aber normalerweise macht man sowas mit .h-files bzw. importieren dieser in andere files.
Im Endeffekt hast du dann die Funktionsaufrufe dann in der anderen Datei.
Du könntest das erste Programm die Zahl, die rauskommt, in eine Datei schreiben lassen welche dann von dem zweitem Programm gelesen wird