Ausgabe umleiten

Eva

Mitglied
Hallo Leute,
ich brauch Eure Hilfe!

Ich möchte gerne für ein Programm die Ausgabe umleiten, damit es nicht an die Standardausgabe gelangt, sondern in eine Datei geschrieben wird, wenn ich ein "cout << "bla, bla"; " durchführe.
Die Datei ist eine normale Textdatei.

Ich hätte es mal so probiert (unser Lehrer hat es uns auch so gezeigt), was aber überhaupt nicht funktioniert:

ofstream* cfout;
cfout = new ofstream("c.txt");
if (cfout->fail())
return 1;
cout = *cfout;


Für eine Eingabeumleitung geht das relativ einfach, aber bei der Ausgabe stehe ich ein bisschen an.

Danke für die Hilfe,

Eva
 
hmm habs mal getestet und du hast recht (unter Windows , Visual C++) funktioniert es so nicht, obwohl es sollte .
Lösung:

man muss den Stream schließen ; cfout->close(); nach der Letzten ausgabe.
 
Das hilft auch nicht sehr viel! Ich bekomme beim Compilieren einen Fehler, das ihm der Befehl " cout = *fcout; " nicht passt!

Kann man die Ausgabe irgendwie anders umleiten?

Eva
 
Hi,

hiermit solltest du die Eingabe auf ein File umleiten können.

Code:
#include <iostream.h>
#include <fstream.h>

void main(){

	char text[20];

	ofstream Output("test.txt");	// Ofstream instanziieren

	if(!Output.fail()){
		// Wert auf File umleiten
		Output << 5 << endl;

		cout << "Ihr Name:" << endl << "> ";
		// Wert einlesen
		cin.getline(text, 21);

		// Eingabe auf Datei umleiten
		Output << text << endl;
	}	// ENDE -- if(!Output.fail())

}

Ciao
Quaese
 
Zurück