Re: STL-Streams und Unicode/UTF-16
- From: Ulrich Eckhardt <eckhardt@xxxxxxxxxxxxxx>
- Date: Mon, 26 Jun 2006 15:41:30 +0200
Andreas Heyer wrote:
Warum funktioniert die Sache dann aber, wenn ich direkt ein FILE-Pointer
an den Streamkonstruktor übergebe? Wenn ich es über den Pfad mache, wird
doch intern auch nur fopen benutzt! Oder setzt der Stream irgendwo eine
andere Locale, so dass der CRT-Default überschrieben wird? Das wäre die
einzige Erklärung für mich. Nur warum ändert sich trotzdem die Facette,
ist die nicht jedesmal die gleiche?
So, ich hab' grade noch mal in den Sourcen gegraben und ich denke es ist ein
Bug dass sich der Konstruktor mit dem FILE* anders verhaelt. Bei VC8 hast
Du in jedem Konstruktor von basic_filebuf() bzw jeder
open()-Implementierung erst einen Call nach _Init() und danach einen nach
_Initcvt() welches die codecvc-Facette initialisiert, ausser bei dem
Konstruktor der einen FILE* nimmt, bei dem bleibt der Pointer auf Null
stehen und es wird halt genau das gemacht was Du richtig findest.
Uli
[1] Jedenfalls bin ich mir da zu 90% sicher, und das erklaert auch warum
auch std::wfstream() nur einen char-String im Konstruktor nimmt und keinen
wchar_t-String.
.
- Follow-Ups:
- Re: STL-Streams und Unicode/UTF-16
- From: Andreas Heyer
- Re: STL-Streams und Unicode/UTF-16
- References:
- STL-Streams und Unicode/UTF-16
- From: Andreas Heyer
- Re: STL-Streams und Unicode/UTF-16
- From: Ulrich Eckhardt
- Re: STL-Streams und Unicode/UTF-16
- From: Andreas Heyer
- Re: STL-Streams und Unicode/UTF-16
- From: Ulrich Eckhardt
- Re: STL-Streams und Unicode/UTF-16
- From: Andreas Heyer
- STL-Streams und Unicode/UTF-16
- Prev by Date: Re: STL-Streams und Unicode/UTF-16
- Next by Date: Re: STL-Streams und Unicode/UTF-16
- Previous by thread: Re: STL-Streams und Unicode/UTF-16
- Next by thread: Re: STL-Streams und Unicode/UTF-16
- Index(es):
Relevant Pages
|