|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 28.04.2008, 16:26 Titel: wfstream + ios::binary |
|
|
Irgendwie ein seltsames Problem, das mit den Variablengrößen zusammenhängen zu scheint.
Jedenfalls weigert sich die Methode write() strikt, eine 2-Byte Variable zu schreiben, sobald der Wert den Umfang von einem Byte übersteigt.
Hier erst mal der Code:
CPP: | std::wfstream file(L"test.txt",std::ios::binary|std::ios::out|std::ios::trunc);
//Datei geöffnet?
if(file.is_open())
{
unsigned short zahl=256;
file.write(reinterpret_cast<wchar_t*>(&zahl),sizeof(unsigned short));
file.close();
} |
Die Datei bleibt leer, an dem Drumherum liegts sicher nicht, da Strings ohne Probleme geschrieben werden können. Ebenso klappt das ganze, sobald ich einen "normalen" fstream mit char* verwende. Wie es sich gehört, werden dann tatsächlich immer 2 Bytes geschrieben.
Sobald ich einen wstream draus mache, wird maximal ein Byte (zahl<256) oder gar nichts(zahl>=256) geschrieben. Auch das Verdoppeln des zweiten Parameters von write() brachte nichts.
Hat schon mal jemand mit dem binären Modus in Verbindung mit Unicode herumexperimentiert? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 29.04.2008, 10:42 Titel: |
|
|
Hi,
soweit ich weiss wird eine Codepage Konvertierung durchgeführt bevor tatschlich ein wchar geschrieben wird, was bedeuten würde das wenn der falsche gesetzt ist dein Buchstabe erst gar nicht geschrieben wird.
Hier wird das Problem behandelt/angesprochen und gelöst:
http://www.codeproject.com/KB/stl/upgradingstlappstounicode.aspx?print=true |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 29.04.2008, 14:55 Titel: |
|
|
Autsch...wchar_t in die STL eingebaut und dann sowas
Wird die STL eigentlich regelmäßig verfeinert?
Danke jedenfalls für den Link! _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 29.04.2008, 16:00 Titel: |
|
|
Wenn ich Japanische Schriftzeichen mit deiner Methode schreibe funktioniert das ganze aber, wie genau er das dann wieder schafft weiss ich leider nicht.
Die STL wird schon verfeinert gibt auch dann und wann mal ein Patch dafür, das ganze ist aber meiner Meinung nach fest definiertes verhalten und kein Bug. Its not a bug its a feature |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 29.04.2008, 19:00 Titel: |
|
|
Fallen hat Folgendes geschrieben: | Its not a bug its a feature |
Jaja, blabla...Ausrede No. 1. Werd ich mir merken _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|