Warum funktioniert der Code nicht?
-
Hallo ich habe folgenden Code der die Ausgabe mit streambuf in 2 Buffer teilen soll, doch ich bekomme Linkerfehler:
#include <windows.h> #include <iostream> #include <fstream> #include <string> using namespace std; class split_buf:public streambuf { public: streambuf *first,*second; split_buf(streambuf*f,streambuf*s); //alle Ausgabefunktionen schicken die Daten an first UND second }; int main() { ofstream log("log.txt"); split_buf buf(cout.rdbuf(),log.rdbuf()); streambuf* oldcout = cout.rdbuf(&buf); string Input; do { cout << "Eingabe:>"; getline(cin, Input); if(Input == "exit") return 0; else cout << "Befehl unbekannt" << endl << endl; } while(TRUE); cout.rdbuf(oldcout); return 0; }
-
oh man bist du blöd
-
Ich weiß man soll Klassen nicht in sowas einfügen, bitte helft mir, wie kann man es ohne die Klasse machen?
-
kernel64 schrieb:
Ich weiß man soll Klassen nicht in sowas einfügen
hä??
-
kernel64 schrieb:
//alle Ausgabefunktionen schicken die Daten an first UND second
echt? hast du den konstruktor nur hier weggelassen, oder sieht der allgemein so aus?
Mfg Ominion
-
Hab folgendes Beispiel gefunden und wollte es anpassen:
class split_buf:public streambuf { public: streambuf *first,*second; split_buf(streambuf*f,streambuf*s); //alle Ausgabefunktionen schicken die Daten an first UND second }; ofstream log("log.txt"); split_buf buf(cout.rdbuf(),log.rdbuf()); streambuf* oldcout=cout.rdbuf(&buf); ... cout<<"Hallo"<<endl; ... //sicher ist sicher - alten Status zurücksetzen cout.rdbuf(oldcout);
-
joa is mir schon aufgefallen, als ich gerade im winapi board geguckt habe...
Mfg Ominion
-
Falls dir das noch nicht aufgefallen ist - das war kein voll compilierbares Beispiel, sondern eine Prinziplösung. Den Konstruktor und die Ausgabemethoden (overflow() und xputs()) darfst du gerne selber ergänzen.
-
CStoll schrieb:
Falls dir das noch nicht aufgefallen ist - das war kein voll compilierbares Beispiel, sondern eine Prinziplösung. Den Konstruktor und die Ausgabemethoden (overflow() und xputs()) darfst du gerne selber ergänzen.
das schafft er eh nicht, bitte gib ihm doch den fertigen code...
-
Overflow schrieb:
das schafft er eh nicht, bitte gib ihm doch den fertigen code...
Mach du das doch, ich hab' wichtigeres zu tun
