JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=b74266e598019a491b6e6ebc528d8789Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

wfstream + ios::binary

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
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

BeitragVerfasst am: 28.04.2008, 16:26    Titel: wfstream + ios::binary Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 29.04.2008, 10:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 29.04.2008, 14:55    Titel: Antworten mit Zitat

Autsch...wchar_t in die STL eingebaut und dann sowas Rolling Eyes
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 29.04.2008, 16:00    Titel: Antworten mit Zitat

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 Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 29.04.2008, 19:00    Titel: Antworten mit Zitat

Fallen hat Folgendes geschrieben:
Its not a bug its a feature Wink

Jaja, blabla...Ausrede No. 1. Werd ich mir merken Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum