Unicode filinput, C.

Tags:    c++

Mit problem er følgende. Jeg har en type tekstfil, hvorfra jeg skal have parset nogle bestemte filstier, der forekommer deri. Mit problem er, at filen er encodet i UTF-16 og jeg har simpelthen ikke kunnet finde ud af, hvordan jeg skriver specielle tegn ud. Eks. æ ø å.

Hvis jeg bruger en almindelig, getc() putc() fremgangsmåde, så får jeg et ? - tegn i outputtet, for hver gang f.eks. æ ø å forekommer i input.

Hvis jeg derimod bruger getwc() og putwc(), for at indlæse tegnet som et wide char, wchar_t, så får jeg intet output.

Jeg har efterhånden brugt mange timer, sammen med Google omkring det her emne, men jeg er på bar bund. Hvis der er nogen der har noget erfaring med C og unicode encodet input, then I'm all ears.



1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
I hvilken mode indlæser du filen?

Prøv hvis du ikke har gjort det at indlæse filen i binær mode.

#include <stdio.h>

FILE *stream;
stream = fopen( "data", "rb" ) // b = binær mode
if (stream) {
fread(...);
fclose(stream);
}

Hth



Indlæg senest redigeret d. 03.03.2007 16:13 af Bruger #10448
t