Avatar billede sempai_peter Nybegynder
14. januar 2004 - 10:52 Der er 14 kommentarer

Skriv Æ, Ø og Å i C

Hvordan kan skrive Æ; Ø eller å i C

Har prøvet med #define æ      (ASCII karakter)

Men det virker ikke.
Er det en header fil man kan iclude eller hvordan skal det løses.

Jeg gider ikke skrive f.eks. printf("S\x9Bger efter...") for at skrive Søger...
Avatar billede arne_v Ekspert
14. januar 2004 - 10:56 #1
Man kan udmærket skrive ÆØÅ i C.

Du skal bare have en editor som bruger samme karakter sæt som der
hvor du kører programmet.

Hvis du kører dit program i en DOS box på en Windows maskine som bruger
CodePage 850, så skal du have en editor som kan gemme i CodePage 850.

(standard på Windows er  CodePage 1252 = ISO8859-1)
Avatar billede arne_v Ekspert
14. januar 2004 - 10:56 #2
Ellers må du bruge noget #define eller bruge en konverterings
funktion (jeg har kode til en liggende).
Avatar billede sempai_peter Nybegynder
14. januar 2004 - 11:34 #3
Hvordan skal Define bruges. Jeg som sagt prøvet...
Avatar billede arne_v Ekspert
14. januar 2004 - 11:54 #4
#include <stdio.h>

#define OE "\x9B"

int main()
{
  printf("ø != " OE "\n");
  return 0;
}
Avatar billede arne_v Ekspert
14. januar 2004 - 11:54 #5
Men det er ikke kønt.
Avatar billede sempai_peter Nybegynder
14. januar 2004 - 13:20 #6
Det giver det samme de samme irritationsmoment som med ASCII tegn.

Jeg ville gerken kune skrive
printf("Dette er en test på æ ø & å");

uden at skulle lave an det end at skrive.

findes der en header fil til det.

Hvordan sættes codepage i C.
Jeg bruger Microsoft Visual C++ 6.0
Avatar billede akany_ Nybegynder
14. januar 2004 - 19:36 #7
Har en ide til en løsning hvis en, der har forstand på det (nok arne :)) lige vil fortælle mig om dette program altid vil udskrive ens:

#include <iostream>
#include <cstdlib>

using namespace std;


int main()
{
    char a='ø'; // Der skal være plads til begge
    char b='ø';
    if(a==b)
    {
    cout<<"Ens!!"<<endl;
    }
    system("pause");
    return 0;
}

  Altså vil ø'et altid gå galt på samme måde så variablerne a og b altid vil blive ens?
Avatar billede arne_v Ekspert
14. januar 2004 - 19:41 #8
sempai>

Du skal bare skrive dit program i Code Page 850.

Det er ikke programmet eller compileren, men den editor du
bruger der afgør det.
Avatar billede arne_v Ekspert
14. januar 2004 - 19:42 #9
akany>

Ja 'ø' == 'ø' uanset tegn sæt - bare de er i samme tegnsæt.
Avatar billede sempai_peter Nybegynder
15. januar 2004 - 10:02 #10
Hvilken editor skal jeg så bruge. Har prøvet Notepad og borland compiler, visual C++.
Avatar billede arne_v Ekspert
15. januar 2004 - 10:09 #11
En god allround editor bør kunne gemme i gængse karakter sæt.

Jeg bruger selv jEdit (Utilities, Buffer Options, Character Encdong, Cp850).

Men jeg formoder at andre (UltraEdit, TextPad etc.) kan det samme.
Avatar billede sempai_peter Nybegynder
15. januar 2004 - 12:38 #12
Nu har jeg prøvet UltraEdit osv. med det samme resultat.

Jeg fandt en hjemme side sm forfatteren af C++ har. Der skrev jeg en mail til ham.
Hans svar var at compileren oversættet alle tegn til ACSII derfor er det compileren der skal kunne forstå æ ø å. Han vidste ikke om der var nogle der kunne.

Har nu lavet en macro der laver en søg erstat funktion
Avatar billede arne_v Ekspert
15. januar 2004 - 12:48 #13
Hvis du fortalte UltraEdit at den skulle gemme i CodePage 850, så burde du
få ÆØÅ fint ud i en DOS box.
Avatar billede arne_v Ekspert
15. januar 2004 - 12:56 #14
(ÆÅæå er nemme at få til at virke - Øø driller ofte lidt mere)
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