dietmar_kuehl@yahoo.com Guest
|
Posted: Thu Mar 10, 2005 3:25 pm Post subject: Re: "endl" überschreibe n? |
|
|
Mark Henning wrote:
| Quote: | Ich würde gerne "endl" überschreiben, bzw. von ofstream eine Klasse
ableiten, bei der "endl" modifiziert ausgeführt wird.
|
Ich denke, dieser Wunsch ist nicht nachhaltig und verfliegt, wenn
man bemerkt, dass das erste nicht geht und das zweite das Problem
nicht löst. Der richtige Weg, sowas zu machen besteht darin, einen
entsprechenden "filtering streambuf" zu implementieren. Ich hatte
irgendwann mal eine Beispiel für einen Stream Buffer geschrieben,
der am Zeilenanfang einen Prefix einfügt: einfach mal bei Google
nach "prefix streambuf" suchen.
Grundsätzlich könnte man für die Verwendung von 'std::endl' einfach
die 'sync()' Methode des Stream Buffers überschreiben. Allerdings
würde ich das eher nicht so machen, da 'std::endl' eigentlich eher
selten verwendet werden sollte! Bei normalem Schreiben in ein File
kann man sich mit 'std::endl' leicht ein Performance-Problem
erzeugen.
--
<mailto:dietmar_kuehl (AT) yahoo (DOT) com> <http://www.dietmar-kuehl.de/>
<http://www.contendix.com> - Software Development & Consulting
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|