Avatar billede vanvid Nybegynder
12. september 2003 - 18:45 Der er 4 kommentarer

Dankse bogstaver mv. i C

Jeg har et program hvor jeg kopierer chars fra stdin til en fil vha getc() og putc(). Problemet er at hvis teksten indeholder æ,ø eller å så bliver de udeladt. Ydermere bliver andre specielle tegn som ½ mm. også udeladt. Dog ser det ud til at have noget at gøre med tastatur (eller hvad ved jeg) -opsætningen på brugerens computer, idet æ,ø,å nogle gange går igennem og andre gange bliver skiftet ud med whitespaces. Programmet bliver compileret under SunOS på en sparc maskine, med gcc.
Nogen der ved hvordan man kopierer disse tegn korrekt i det givne miljø?
Avatar billede stringbuffer Nybegynder
12. september 2003 - 20:53 #1
Prøv unsigned char istedet for char
Avatar billede stringbuffer Nybegynder
12. september 2003 - 20:57 #2
Det kan naturligvis også være terminalens locale, der er gal. Ved ikke om det vil virke på SunOS, men prøv noget i stil med
set LANG da
eller
export LANG=da
evt. en_us istedet for da
Avatar billede vanvid Nybegynder
12. september 2003 - 23:03 #3
Jeg vil helst finde en løsning der ikke involverer jeg skal sætte nogen env. variabler (udenfor programmet), og jeg troede jeg kunne bruge setlocale() til det, men enten virker det ikke, eller også er det mig der ikke helt kan finde ud af hvordan man bruger den kommando (hvilket jeg ikke vil udelukke).
Jeg har prøvet noget i stil med setlocale(LC_ALL, "da"), og i stedet for "da" har jeg også prøvet "da_DK.ISO8859-1", men jeg skal gerne indrømme det har været skud i tågen for jeg kan ikke dekryptere de man sider der skulle forklare hvordan man bruger setlocale().
Avatar billede stringbuffer Nybegynder
13. september 2003 - 09:20 #4
prøv da_DK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester