STDOUT/STDERR einlesen
-
Wenns C++ sein darf und unter Windows laufen soll ... dafür habe ich mal eine Klasse geschrieben, zu finden im Konsoleforum.
-
Ne, es muss leider C sein. Ich kann mir auch nicht vorstellen, dass es dafür keine gescheite Lösung gibt. Der Link von SeppJ schmeißt mir nur Schlagworte an den Kopf, aber nach der Lösung such ich immernoch vergebens.
-
-
ich werf mal
popen
ein
-
heimchen schrieb:
Ne, es muss leider C sein. Ich kann mir auch nicht vorstellen, dass es dafür keine gescheite Lösung gibt. Der Link von SeppJ schmeißt mir nur Schlagworte an den Kopf, aber nach der Lösung such ich immernoch vergebens.
Dann stell genauere Fragen! Zum Beispiel könntest du mal fragen, wie das konkret für <hier dein System einsetzen> geht. Sonst geht das so weiter wie bisher und du bekommst X widersprüchliche antworten für Y verschiedene Systeme.
-
Pipes sind Betriebssystems:
Linux: popen
Windows: http://msdn.microsoft.com/en-us/library/ms682499(VS.85).aspxach, hatten wir schon ...
-
SeppJ schrieb:
heimchen schrieb:
Ne, es muss leider C sein. Ich kann mir auch nicht vorstellen, dass es dafür keine gescheite Lösung gibt. Der Link von SeppJ schmeißt mir nur Schlagworte an den Kopf, aber nach der Lösung such ich immernoch vergebens.
Dann stell genauere Fragen! Zum Beispiel könntest du mal fragen, wie das konkret für <hier dein System einsetzen> geht. Sonst geht das so weiter wie bisher und du bekommst X widersprüchliche antworten für Y verschiedene Systeme.
Ich dachte, mit diesem kurzen Beispiel wär es schon deutlich gewesen, aber ich versuch es nochmal so:
heimchen schrieb:
Pipes kenn ich von der Konsole, aber wie bekomme ich das nach C? Vereinfacht bin ich aktuell hier:
Mutti:
system("Tochter.exe"); gets(str);
Tochter:
puts("Hallo Mutti");
Ich Möchte in Mutti's Variable str "Hallo Mutti" stehen haben.
popen war übrigens ein ganz gutes Stichwort, hab bisher nur keine für mich verständliche Dokumentation dazu gefunden. Dafür ne Menge Seiten für Erwachsene...
-
wirwollenwissenoblinuxoderwindowsoderganzwasanderesjetztklargenug?
-
Windows, compiliere mit der MinGW-Toolchain aus Eclipse heraus.
Jetzt versteh ich auch, was hier los ist. War davon ausgegangen, es gäbe eine Standard-C Methode unabhängig vom Betriebssystem a la puts und gets...
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89, C99 und C11) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du hast das zweimal überlesen
SeppJ schrieb:
Mit den Mitteln zur Interprozesskommunikation, die dein System höchstwahrscheinlich bietet:
http://en.wikipedia.org/wiki/Inter-process_communication
Was du beschreibst, fällt in die Kategorie "Pipes".
-
Ok, die Lösung scheint so komplex zu sein, dass ich sie nicht in der gebotenen Kürze bekommen werde. Sonst hätte ich sicher mehr als einen Link auf eine Website mit vielen weiteren Links bekommen. Hatte auf einen Zweizeiler gehofft...
-
SeppJ schrieb:
Zum Beispiel könntest du mal fragen, wie das konkret für <hier dein System einsetzen> geht.
knivil schrieb:
Pipes sind Betriebssystems:
Linux: popen
Windows: http://msdn.microsoft.com/en-us/library/ms682499(VS.85).aspxach, hatten wir schon ...
SeppJ schrieb:
wirwollenwissenoblinuxoderwindowsoderganzwasanderesjetztklargenug?
Muss ich daraus schliessen, dass man das nicht ohne OS-Abfrage und -Unterscheidung portabel hinkriegt?
Apropos popen, kann das wer bestätigen:
http://hacksoflife.blogspot.ch/2008/02/popen-windows-and-quotes.html
?
-
Muss ich daraus schliessen, dass man das nicht ohne OS-Abfrage und -Unterscheidung portabel hinkriegt?
Du kannst eine Bibliothek nutzen, die fuer dich unterscheidet. Die Linuxversion ist dann anders implementiert als die Windowsversion, jedoch nach aussen wird in beiden Varianten ein einheitliches Interface angeboten.