Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

25.06.2007, 19:05

Unicode Datei einlesen

Hallo,


gibt es ne einfache variante ne unicode textdatei mit c++ einzulesen?
hab schon versucht mit fgetc den int wert in char zu casten, und auch andere versuche, aber geht alles nicht. auch mit wifstream hat es bei ned geklappt.

wäre also dankbar, für nen kurzen beispielcode, oder nen hinweis auf die funktion, die ich dazu bräuchte :)

mfg
Drac

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

2

25.06.2007, 20:10

(ich bin mir nicht ganz sicher, ob das, was ich sage auch stimmt)
wifstream liefert als rückgabewert wchar_t zurück, was als unsigned short definiert ist -> 16bit = 2b. aber unicode zeichen sind größer als 2b. das heisst, mit wifstream kommst du nicht allzuweit, wenn du unicode texte einlesen willst.
"Don't trust your eyes: They are a hell of a lot smarter than you are"

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

3

25.06.2007, 20:36

wchar_t ist genau das richtige um mit Unicode zu hantieren! Und es ist nicht zwangsläufig auf 16 Bit defininiert.
@D13_Dreinig

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

25.06.2007, 21:05

Zitat

auch mit wifstream hat es bei ned geklappt.

Was hat denn daran nicht geklappt? Bzw. Woran ist es gescheitert?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

5

25.06.2007, 21:10

meine wchar.h sagt
typedef unsigned short wchar_t;
"Don't trust your eyes: They are a hell of a lot smarter than you are"

6

25.06.2007, 21:13

Hi,

Wenn du eine Unicode Textdatei lesen möchtest musst du auch darauf achten, dass du zuerst das Byte Order Mark einliest um zu schauen um welchen "Typ" von Unicode es sich handelt.
Ich gebe bei der Arbeit immer 100%

6% Montags
30% Dienstags
35% Mittwochs
25% Donnerstag
4% Freitag

Sheddex

unregistriert

7

25.06.2007, 21:17

Mmh, ich glaube ich versuche mal den 2. Teil meines File-Tutorials bis zum Wochenende fertigzustellen, da kommt dann auch BOM etc dran, falls dir das nichts sagt Draculark.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

25.06.2007, 21:52

Zitat von »"ChrisJ"«

meine wchar.h sagt
typedef unsigned short wchar_t;


Ja, deine. Aber das heißt nicht das es überall so ist.
@D13_Dreinig

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

9

25.06.2007, 21:57

beweis mir das gegenteil :P
"Don't trust your eyes: They are a hell of a lot smarter than you are"

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

25.06.2007, 22:17

Gerne:

Zitat von »"C++ Standard"«


Type wchar_t is a distinct type whose values can represent distinct codes for all members of the largest
extended character set specified among the supported locales (22.1.1). Type wchar_t shall have the same
size, signedness, and alignment requirements (3.9) as one of the other integral types, called its underlying
type.



Bei mir ist wchar_t z.B. 32 Bit breit.
@D13_Dreinig

Werbeanzeige