C++: cout in Datei und Bildschirm?

Spacemojo

Aktives Mitglied
Thread Starter
Dabei seit
16.05.2004
Beiträge
624
Reaktionspunkte
21
Hi!
Ich hab ein C++ Programm, das
cout << "Test";
macht.
Wenn ich es mit "./programm > output" starte, wird "Test" nich auf den Bildschim, sondern in die Datei "output" geschrieben.
Wie kann ich trotzdem noch was auf dem Bildschirm ausgeben?

Danke!

Tobi
 
./programm startet Dein Programm

> output lenkt die Ausgabe in eine datei output um!

warum machst Du das mit dem Umlenken? Willst Du eine Datei oder/und eine Bildschirmausgabe???
 
Spacemojo schrieb:
Hi!
Ich hab ein C++ Programm, das
cout << "Test";
macht.
Wenn ich es mit "./programm > output" starte, wird "Test" nich auf den Bildschim, sondern in die Datei "output" geschrieben.
Wie kann ich trotzdem noch was auf dem Bildschirm ausgeben?
Das ist ja auch normal, leiteste du doch die Ausgabe auf die Datei „output“ um. Dadurch werden alle Ausgaben an die Stanardausgabe und die Fehlerausgabe in diese Datei umgeleitet. Ausnahmslos. Parallel auf dem Bildschirm auszugeben, ist so nicht möglich.
 
Ich will den Hofstadter-Schmetterling berechnen. Dazu muss man sehr viele Eigenwerte berechnen, das dauert sehr lange.
Die Ergebnisse schreibe ich in eine Datei, die dann mit gnuplot geplottet wird. Den Bildschirm hätte ich gerne als Fortschrittsanzeige verwendet.
 
Dann mußt Du entweder 2 Ausgaben machen ( stdout und file) oder Du schreibst in die datei und machst von der bash aus ein

tail -f /pfd/zur/datei

das zeigt die jede hinzugekommene Zeile in der Datei auf dem Bildschirm an!
 
OK, dann mach ich es mit stdout und file. Danke!


Tobi
 
Du kannst die Werte auch über den clog-Stream schicken (clog << "blub") und deinen Status normal über cout.
Allerdings weiß ich nicht genau, wie du clog umleitest. Bei cerr machst du es mit ./programm 2> output. Deswegen bei clog vielleicht mit ./programm 3> output :confused:
 
./program > output ; cat output

Quick'n'Dirty :p
 
Zurück
Oben Unten