Læse danske tegn fra fil

Tags:    c++

<< < 12 > >>
I et program læser jeg danske ord med fgets() fra en textfil, men tegnene æ,ø og å vises ikke korrekt ved udskrift på skærmen, ligesom de ikke genkendes som alfanumeriske tegn længere nede i programmet, hvor jeg sammenligner en brugerindtastning med textfilen.

Her er lidt kode :

Fold kodeboks ind/udKode 



Er der en god og ikke for vanskelig løsning til problemet?






16 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Jeg samler ikke på point.



Så vil jeg sige tak for hjælpen :)




Det er altid en god idé at læse filen binært, så slipper du for sådanne problemer. Bemærk i nedenstående bliver filen åbnet med "rb" og ikke kun "r". Herved læser du filen binært.

if (!(f = fopen("./ordliste.txt", "rb"))) {
perror("error opening dictionary");
exit(0);
}

HTH



Jess, på hvilken måde skulle det løse noget problem med æøå at åbne filen som binær?

Da filen er en tekst fil vil det, ud over at det ikke løser noget problem, give nye problemer...



Jess, på hvilken måde skulle det løse noget problem med æøå at åbne filen som binær?

Da filen er en tekst fil vil det, ud over at det ikke løser noget problem, give nye problemer...



Det vil ikke give nye problemer! Jeg bruger konstant at læse filer binært og jeg har ikke fået nogen problemer endnu.

Når filen bliver læst binært så bliver den læst bit for bit og ikke char for char. Sidst nævnte kan give problemer hvis for eksempel en din data i din tekst er i et andet format som for eksempel unicode, da et tegn så er 2 byte.



Det er, undskyld jeg siger det, noget vrøvl.

Man læser ikke bit for bit med binære filer eller byte for byte med tekst filer.

Hvis man læser tekst filer som binære filer får man problemer med \\r

Du glemte at forklare hvordan det løser Peters problem at åbne filen som binær.



<< < 12 > >>
t