Der Dateiname muss immer noch als char const * angegeben werden, der Stream schreibt aber nachher wchar_ts raus. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
ist aber eigentlichn non-sense in der STL - was wenn du nun unicode-zeichen in dem dateinamen hast/haben willst? -- class God : public ChuckNorris { };
jo - und das halte ich fürn designfehler in der STL
Nein, ist kein Designfehler! Und es geht, aber halt nicht über einen standardkonformen Weg.Dieser Post wurde am 09.08.2007 um 16:39 Uhr von FloSoft editiert.
Und das es keiner ist weisst du woher, sollte ein Betriebsystem Unicode für Dateinamen zulassen, dann kommt man mit der STL Lösung nicht sehr weit, da Unicode sich ja aber für den Standardzeichensatz mit Ascii deckt, wäre das also nicht unbedingt schlecht gewesen hier für Dateinamen auch Unicode zuzulassen.
Es ist keiner weil es extrem unportabel wäre sowas anzubieten. Sollte ein System nämlich keine Unicodenamen zulassen kommst du noch viel weniger weit. C++ ist dafür ausgelegt überall komfortabel anwendbar zu sein und nicht nur ein einigen Systemen. Und da Dateinamen extremst Betriebssystemabhängig sind (nichtmal Platformabhängig) macht es keinen Sinn das zu unterstützen. Der Vorschlag wurde zwar eingereicht aber nicht umgesetzt, es ist also kein Designmangel sondern schon so gewollt. Wie das in Zukunft aus sehen wird ist eine andere Frage!
Und wo wir gerade dabei sind, die STL hat damit garnichts zu tun. Es dreht sich hier ausschließlich um die Standard IO Library von C++ und die hat mit der STL herzlich wenig am Hut.