Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 21.08.2005, 10:06 Titel: [STL] Filestream + Unicode-Support |
|
|
Hoi,
ich hol mal etwas weiter aus, um dann zum eigentlich Kern des Problems zukommen.
Ein 'std::string' ist ja im Grunde nix weiter, wie ein typedef für 'std::basic_string<char>', soweit so gut, möchte man nun Unicode-Support verwendet man einfach 'std::basic_string<wchar_t>'.
Mein Problem bezieht sich allerdings auf die Filestreams der STL.
Ein 'std::ofstream'-Objekt erwartet als ersten Parameter eine Variable vom Typ 'char*', da ich jedoch Unicode-Support mittels 'wchar_t*' möchte, ergibt sich an dieser Stelle ein kleines Problem. Wie verkauf ich dem Streamobjekt ein 'wchar_t*' als erstes Argument?
Ich hab mir überlegt evt. etwas über die Basis-Templateklasse 'std::basic_ofstream' etwas zu drehen, aber bisher ohne Erfolg.
Ich vermute mal, dass erste Argument ist schlicht und einfach kein Template-Datentyp, oder?
Eine andere, imho etwas kranke, Möglichkeit wäre wahrscheinlich einfach selber eine passende Klasse von 'std::basic_ostream' abzuleiten.
'wchar_t' in 'char' casten funktioniert natürlich auch nicht ohne weiteres.
Ich hab mir die Datei 'fstream' angeschaut, in der Hoffnung, auf die evt. rettende Idee zukommen, bisher ohne Erfolg.
Jemand einen Tipp für mich, wie ich das Ding schaukeln könnte, ohne an dieser Stelle auf Unicode verzichten zumüssen?
p.s.: Ein Crossposting, ich weiß. |
|
Nach oben |
|
|
magynhard Super JLI'ler
Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 21.08.2005, 11:25 Titel: |
|
|
Mit wchartvariable.c_str() ?
Oder geht dabei Unicode flöten? _________________ Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
|
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 21.08.2005, 12:36 Titel: |
|
|
Deswegen akzeptiert die open-Methode, des ofstream-Objektes aber immer noch kein Unicode als Argument. |
|
Nach oben |
|
|
PeaceKiller JLI Master
Alter: 35 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 21.08.2005, 19:07 Titel: Re: [STL] Filestream + Unicode-Support |
|
|
GreveN hat Folgendes geschrieben: | Ein 'std::string' ist ja im Grunde nix weiter, wie ein typedef für 'std::basic_string<char>', soweit so gut, möchte man nun Unicode-Support verwendet man einfach 'std::basic_string<wchar_t>' |
Wieso machst du das nicht auch mit dem ofstream-Objekt? _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 21.08.2005, 19:24 Titel: |
|
|
Weil eben das nicht funktioniert.
Das erste Argument, ist kein Template-Argument. |
|
Nach oben |
|
|
PeaceKiller JLI Master
Alter: 35 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 22.08.2005, 15:46 Titel: |
|
|
GreveN hat Folgendes geschrieben: | Weil eben das nicht funktioniert.
Das erste Argument, ist kein Template-Argument. |
und wonach sieht das aus?
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/group__s27__2__iosfwd.html#ga3 _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
|
Kronos Senior JLI'ler
Anmeldedatum: 19.03.2004 Beiträge: 290
Medaillen: Keine
|
Verfasst am: 26.08.2005, 17:51 Titel: |
|
|
std::wofstream _________________
David hat Folgendes geschrieben: | Solang meine Beiträge konstruktiver sind als deiner bin ich zufrieden... |
Kein Kommentar notwendig. :rolleyes: |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 26.08.2005, 20:42 Titel: |
|
|
Kronos hat Folgendes geschrieben: | std::wofstream | äquivalent zu std::basic_ofstream<wchar_t>
Futtert jedoch als Parameter nur char. _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 27.08.2005, 09:38 Titel: |
|
|
Ups. Wollte vor ein paar Tagen noch auf Peace Killers Hinweis antworten, aber habs vergessen. Naja Patrick sagte es ja bereits, es geht wie gesagt, um den ersten Parameter und der erwartet immer 'const char*'. |
|
Nach oben |
|
|
|