08. januar 2001 - 20:08Der er
21 kommentarer og 1 løsning
Borland Builder C++ version4 æøå problemer :-(
Jeg er lidt prob. med min Builder. Når jeg bruger cout og æøå bliver de \"rigtige\" tegn ikke udskrevet. Det virker fint når jeg bruger typen string. Jeg kører med dansk tegnsæt i windows. Hvordan får jeg Borland til at kører med dansktegnsæt? Så jeg kan bruge dansketegn i mine udskrifter!
Hmmm det kan godt være at jeg ikke fik mig formuleret helt korrekt. Borland skriver de \"rigtige\" tegn ud...men når jeg skriver cout<<\"åge\"; skriver comp. ikke å ud men et andet tegn, når jeg har compileret prog.
Jeg tror at det skyldes forskellen mellem ANSI og ASCII tegnsættene. Jeg har selv haft problemet i Delphi, men det løste sig selv. Jeg blev nemlig træt af små kommandoliniebaserede benzinregnskaber.
autoexec \"snip\" mode con codepage prepare=((850) C:\\WINDOWS\\COMMAND\\ega.cpi) mode con codepage select=850 keyb dk,,C:\\WINDOWS\\COMMAND\\keyboard.sys kode \"snip\" cout<<\"køb en ræv og smid den i åen\"; ø = ° æ = µ å = õ
dette er de tegn der bliver vist når programmet bliver kørt
Problemet ligger ikke i selve programmet, men høhst sandsynligt i den variabeltype der bliver udskrevet. Da cout udskriver en tekst som bytestream kunne jeg tænke mig, at denne stream er begrænset til 127 eller 256 tegn. Heri indgår de danske tegn ikke ( det først er æ der har værdien på 8216) i ascii-kode (noget helt det hvis vi taler Unicode her eksitere Ø faktisk ikke sidst jeg kiggede. Da Integer kan indegolde tegn med en større tegn værdi opleves problemet ikke her.
Jeg tror ikke at det er der problemet er. Jeg kan godt skrive tegnene ud hvis jeg bruger de respektive ascii numre. spørgsmålet går lidt mere på om der er en lettere måde at gøre det på end
Kode \"snip\" cout<<\"k\"<<char(230)<<\"e ven\";
Det er nemlig lidt bøvlet at sidde og skrive på denne måde :)=
Det er IKKE en fejl i C++ Builder (eller for den sags skyld i Delphi)!!! Det er en fejl i Windows\' forståelse af hvad ANSI tegnsættet er. Den samme fejl kommer i VC++ og ved at taste k[ALT-230]re i en Command Prompt.
det er jeg sikkert enig med dig i.. Men nu er det desvære sådan at jeg bruger windoze der hvor jeg normalt programmere og jeg kan jo ikke få dem til at lave om på deres private standard.. Og da jeg ikke ved hvordan jeg skal lave om på hverken det ene eller det andet var jeg jo nød til at spørge alle de dejlige kloge mennesker der findes her.. :)=
Du kan ikke anvende en Windows compiler som f.eks. C++ Builder til at lave Console applicationer med korrekt \'æ\', \'ø\' og \'å\'. Problemet skyldes at console applikationen anvender ASCII tegnsættet, mens windows anvender ISO 96?? tegnsættet. Hvis du derfor skal have applikationen til at skrive korrekt ud, skal du lave din source i C++ Builder gemme den - og rette \'æ\', \'ø\' og \'å\' vha. en DOS edit fra et MS-DOS prompt. Eneste alternativ er at overloade alle puts og printf funktioner sådan at ISO96?? tegnsættet konverteres inden udskrift til det korrekt DOS tegn.
Synes godt om
Ny brugerNybegynder
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.