Thread View: de.comp.lang.c++
2 messages
2 total messages
Started by Torsten Vogt
Tue, 05 Dec 1995 12:44
Frage zur Umleitung von STDIN/STDOUT
Author: Torsten Vogt
Date: Tue, 05 Dec 1995 12:44
Date: Tue, 05 Dec 1995 12:44
36 lines
1611 bytes
1611 bytes
Hallo,
ich habe zur Zeit ein kleines Problem:
Kann man aus einem C/C++-Programm ein xterm so starten, dass STDIN
und STDOUT des C/C++-Programmes auf das xterm umgeleitet werden?
Also ein Beispiel:
ich starte zur Laufzeit ein xterm z.B. mit
system("xterm");
dann biege ich STDIN u. STDOUT auf das xterm um
// ich weiss nicht wie das geht
und dann schreibt z.B. folgende Anweisung auf das xterm:
cout << "Hallo" << endl;
Im voraus vielen Dank.
Torsten
--
---------------------------------------------------------------------
| Torsten Vogt |
| Universitaet Mannheim - Lehrstuhl Praktische Informatik I |
| Seminargebaeude A5 |
| D-68131 Mannheim |
| |
| Tel : 0049-621/292-5132 Fax: 0049-621/292-5297 |
| email: vogt@pi1.informatik.uni-mannheim.de |
| WWW : http://pi1.informatik.uni-mannheim.de/HomePages/vogt.html |
---------------------------------------------------------------------
Re: Frage zur Umleitung von STDIN/STDOUT
Author: Hans-Ch. Eckert
Date: Thu, 07 Dec 1995 14:55
Date: Thu, 07 Dec 1995 14:55
47 lines
2240 bytes
2240 bytes
In <4a1eqh$qg3@trumpet.uni-mannheim.de>, vogt@pi1.uni-mannheim.de (Torsten Vogt) writes:
] Kann man aus einem C/C++-Programm ein xterm so starten, dass STDIN
] und STDOUT des C/C++-Programmes auf das xterm umgeleitet werden?
Im Prinzip ja, aber mit dem Ansatz wirst Du Probleme bekommen.
]
] Also ein Beispiel:
]
] ich starte zur Laufzeit ein xterm z.B. mit
]
] system("xterm");
Das ist schonmal schlecht, weil Dein Programm erst dann weiterlaeuft,
wenn das xterm beendet wird (Siehe system(3)).
] dann biege ich STDIN u. STDOUT auf das xterm um
]
] // ich weiss nicht wie das geht
Du nimmst Dir ein Paar von Pseudo-ttys und startest das xterm mit der
Option -Sccn (siehe xterm(1)), so dass das xterm die I/O ueber das
Pseudo-tty abwickelt.
] und dann schreibt z.B. folgende Anweisung auf das xterm:
]
] cout << "Hallo" << endl;
Entweder nimmst Du Dir einen eigenen Stream und benutzt dann den, oder
Du musst die urspruenglichen Kanaele schliessen/umlegen (siehe dup(2))
und dann das Pseudo-tty auf dem entsprechenden Kanal oeffnen.
Einen eigenen Stream zu verwenden ist sicher guenstiger...
Um das xterm zu starten, solltest Du besser auf fork/exec zurueckgreifen.
Beispielcode findest Du z.B. bei Seyon.
Gruss,
Ripley
PS: Followup nach de.comp.os.unix !
--
Hans-Ch. Eckert, Regensburger Str.2, 10777 Berlin, Germany * ISO 8859-1
(intl) ripley@nostromo.in-berlin.de, * Γ Γ Γ
Alternative: ripley@cs.tu-berlin.de * aeoeuess
NeXTmail: hansagia@w271zrz.zrz.tu-berlin.de (and nowhere else!) * Γ€ ΓΆ ΓΌ Γ
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads