c++, æøå?

Diskuter andre serversidespråk / -teknologier som J2EE, .htaccess, Progress 4GL, CGI/Perl m.m

c++, æøå?

Innlegg _haha_ » 10.09.2004 17:05

Noen som vet hvordan eg kan få æøå til å vises som de bokstaver de er i et c++ program? Bare et program i et kommando vindu eg driver på med, viss det har noen rolle.
_haha_
Medlem
 
Innlegg: 833
Registrert: 07.08.2003 17:43

Innlegg Remi Sture » 10.09.2004 18:04

Jeg lurer på det samme i java...
Brukerens avatar
Remi Sture
Seniormedlem
 
Innlegg: 6031
Registrert: 15.01.2003 20:04
Bosted: Fyllingsdalen

Innlegg _haha_ » 10.09.2004 18:15

hmm, da må vi få inn noen som, kan dette her :)
_haha_
Medlem
 
Innlegg: 833
Registrert: 07.08.2003 17:43

Innlegg Remi Sture » 10.09.2004 18:34

Lurifax har vel peiling på java, har han ikke?
Brukerens avatar
Remi Sture
Seniormedlem
 
Innlegg: 6031
Registrert: 15.01.2003 20:04
Bosted: Fyllingsdalen

Innlegg _haha_ » 10.09.2004 19:13

jo, det har eg hørt så, vi får håppe han tar seg en tur inn her :)
_haha_
Medlem
 
Innlegg: 833
Registrert: 07.08.2003 17:43

Innlegg Knuto » 10.09.2004 20:07

Kunne ikkje Lurifax starta eit c++ forum i NWF? Eg og driv med grunnleggjande c++ for tida... Men på forum.hardware.no finnes det i alle fall eit. Der får du ganske raskt svar og...
Knuto
Medlem
 
Innlegg: 896
Registrert: 05.07.2004 10:02

Innlegg Remi Sture » 10.09.2004 20:08

kunne vel samlet både c, c++, java og flere programmeringsspråk i ett forum, hvis det hadde blitt aktuelt.
Brukerens avatar
Remi Sture
Seniormedlem
 
Innlegg: 6031
Registrert: 15.01.2003 20:04
Bosted: Fyllingsdalen

Innlegg Knuto » 12.09.2004 20:23

Dessutan lurer eg på korleis det går ann å få BÅDE tall og bokstaver i ein variabel.
Knuto
Medlem
 
Innlegg: 896
Registrert: 05.07.2004 10:02

Innlegg jonepet » 12.09.2004 22:10

Knuto skrev:Dessutan lurer eg på korleis det går ann å få BÅDE tall og bokstaver i ein variabel.
¨
Ved å putte dem i en char-array?
Kode: Merk alt
char *chr;
chr = (char *) malloc(255);
strcpy(chr, "Hallo, 123");

kanskje?
Jon-Eirik Pettersen
Dcvhost.no
Brukerens avatar
jonepet
Seniormedlem
 
Innlegg: 4913
Registrert: 27.10.2002 15:11
Bosted: Bodø

Innlegg erimir » 12.09.2004 22:29

jonepet skrev:
Knuto skrev:Dessutan lurer eg på korleis det går ann å få BÅDE tall og bokstaver i ein variabel.
¨
Ved å putte dem i en char-array?
Kode: Merk alt
char *chr;
chr = (char *) malloc(255);
strcpy(chr, "Hallo, 123");

kanskje?

Hørt om de "nye" operatorene i C++ som heter new og delete? ;)
malloc er C-avleggs. Du kan jo bruke dette... men C++ har new og delete.
Eric Bolikowski
sauer er dumme dyr
Brukerens avatar
erimir
Seniormedlem
 
Innlegg: 1700
Registrert: 27.04.2004 20:29
Bosted: Oslo

Innlegg jonepet » 12.09.2004 22:29

erimir skrev:
jonepet skrev:
Knuto skrev:Dessutan lurer eg på korleis det går ann å få BÅDE tall og bokstaver i ein variabel.
¨
Ved å putte dem i en char-array?
Kode: Merk alt
char *chr;
chr = (char *) malloc(255);
strcpy(chr, "Hallo, 123");

kanskje?

Hørt om de "nye" operatorene i C++ som heter new og delete? ;)
malloc er C-avleggs. Du kan jo bruke dette... men C++ har new og delete.

jaja, har stort sett bare brukt C og C# så vet ikke om disse C++-spesifike greiene.
Jon-Eirik Pettersen
Dcvhost.no
Brukerens avatar
jonepet
Seniormedlem
 
Innlegg: 4913
Registrert: 27.10.2002 15:11
Bosted: Bodø

Innlegg jobela » 13.09.2004 0:14

Remi Sture skrev:Jeg lurer på det samme i java...

Om du bruker System.out.print("Dette er en string med æøå") til kommandovinduet fra Java er det så vidt jeg vet ikke noe løsning på dette - Forklaringen er for så vidt enkel:

Windows og kommandovinduet er ikke "enige" om tallverdien i ASCII-tegnsettet til de nordiske tegnene æ, ø og å. Altså: ASCII-tegnsettet er definert slik at det benytter en byte i minnet. Dette betyr at det kun kan inneholde 256 forskjellige verdier. Beklageligvis er bare verdiene 0 - 127 standardiserte. Resten av verdiene varierer fra plattform til plattform og fra land til land. Dette betyr enkelt og greit at ASCII-verdien for æ,ø og å i Windows ikke er de samme som i kommandovinduet og du vil i stedet for de ønskede tegnene få noen merkelige utskrifter. Du vil merke at når du kommer over i GUI-programmering vil dette problemet forsvinne ettersom Java her benytter UniCode-tegnsettet(2 byte i minnet og 65 536 forskjellige tegn) hvor de nordiske tegnene har sine faste plasser. Her vil tegnene med nummer 0 - 127 svare til tegnene med samme nummer i ASCII.

Eks. I Windows ”ø” i kommandovinduet ”°”

Som en liten tilleggsopplysning: De nordiske tegnene kan ikke brukes i navn på klasser, moduler eller funksjoner.
Never argue with an idiot. They will bring you down to their level, then beat you with experience. | norskwebforum@gmail.com | jobela@twitter
Brukerens avatar
jobela
Administrator
 
Innlegg: 3935
Registrert: 15.09.2002 18:15
Bosted: Oslo, Norway

Innlegg erimir » 13.09.2004 6:22

Lurifax skrev:
Remi Sture skrev:Jeg lurer på det samme i java...

Om du bruker System.out.print("Dette er en string med æøå") til kommandovinduet fra Java er det så vidt jeg vet ikke noe løsning på dette - Forklaringen er for så vidt enkel:

Windows og kommandovinduet er ikke "enige" om tallverdien i ASCII-tegnsettet til de nordiske tegnene æ, ø og å. Altså: ASCII-tegnsettet er definert slik at det benytter en byte i minnet. Dette betyr at det kun kan inneholde 256 forskjellige verdier. Beklageligvis er bare verdiene 0 - 127 standardiserte. Resten av verdiene varierer fra plattform til plattform og fra land til land. Dette betyr enkelt og greit at ASCII-verdien for æ,ø og å i Windows ikke er de samme som i kommandovinduet og du vil i stedet for de ønskede tegnene få noen merkelige utskrifter. Du vil merke at når du kommer over i GUI-programmering vil dette problemet forsvinne ettersom Java her benytter UniCode-tegnsettet(2 byte i minnet og 65 536 forskjellige tegn) hvor de nordiske tegnene har sine faste plasser. Her vil tegnene med nummer 0 - 127 svare til tegnene med samme nummer i ASCII.

Eks. I Windows ”ø” i kommandovinduet ”°”

Som en liten tilleggsopplysning: De nordiske tegnene kan ikke brukes i navn på klasser, moduler eller funksjoner.

Er faktisk akkurat det samme problemet i C++ med konsoll vinduer.
Skriving av æ, ø eller å virker ikke, og kommer opp med rare bokstaver.

Må vel bare bruke standard løsning (æ=ae, ø=oe, å=aa).
Eric Bolikowski
sauer er dumme dyr
Brukerens avatar
erimir
Seniormedlem
 
Innlegg: 1700
Registrert: 27.04.2004 20:29
Bosted: Oslo

Innlegg _haha_ » 13.09.2004 6:28

hmm, kjipt. Jaja, man får vel bare leve med det :) Eller legge til en ny bit i Ascii systemet, slik at vi får lagt til æøå og :)
_haha_
Medlem
 
Innlegg: 833
Registrert: 07.08.2003 17:43

Innlegg erimir » 13.09.2004 12:40

_haha_ skrev:hmm, kjipt. Jaja, man får vel bare leve med det :) Eller legge til en ny bit i Ascii systemet, slik at vi får lagt til æøå og :)

Og be alle de enorme internasjonale selskapene skifte ut standarden :o:o
Ikke for å være gledesdreper.. men lykke til ;):D
Eric Bolikowski
sauer er dumme dyr
Brukerens avatar
erimir
Seniormedlem
 
Innlegg: 1700
Registrert: 27.04.2004 20:29
Bosted: Oslo

Innlegg _haha_ » 13.09.2004 13:29

hehe, er lov å prøve,e r blitt gjort et par ganger før? blitt satt in en ekstra bit, men de "glømte" å ta emd æøå kvar gang :(
_haha_
Medlem
 
Innlegg: 833
Registrert: 07.08.2003 17:43

Innlegg erimir » 13.09.2004 14:04

_haha_ skrev:hehe, er lov å prøve,e r blitt gjort et par ganger før? blitt satt in en ekstra bit, men de "glømte" å ta emd æøå kvar gang :(

Men tror ASCII-standarden er nokså veletablert... mange hundretusener av datamaskiner måtte nok blitt oppdatert.. og produsenter sende ut disketter til eldre datamaskiner for oppgradering :P
Eric Bolikowski
sauer er dumme dyr
Brukerens avatar
erimir
Seniormedlem
 
Innlegg: 1700
Registrert: 27.04.2004 20:29
Bosted: Oslo

Innlegg caird » 13.09.2004 14:30

_haha_ skrev:hehe, er lov å prøve,e r blitt gjort et par ganger før? blitt satt in en ekstra bit, men de "glømte" å ta emd æøå kvar gang :(
Æ,ø og å har fint plass i den første biten. Problemet er at det kun er de første 128 verdiene som er standardiserte. Det vil si at det kun er de første 128 som har samme plassering overalt.
caird
caird
Medlem
 
Innlegg: 583
Registrert: 22.01.2004 15:13

Innlegg _haha_ » 13.09.2004 15:27

hmm, da så. Klarer jo skrive æøå med ascii, men de funker ikke når de er komplimert ut i programmet :(
_haha_
Medlem
 
Innlegg: 833
Registrert: 07.08.2003 17:43

Innlegg fractalgp » 19.09.2004 19:03

lenge siden jeg drev med dette, men det funker vel hvis du bare skriver ASCII-verdien inn i koden? For eksempel \xYY hvor YY er den heksadesimale ASCII-verdien for tegnet.
For the great day of wrath is coming, and who shall be able to stand?
Brukerens avatar
fractalgp
Medlem
 
Innlegg: 749
Registrert: 21.10.2003 21:01

Selvfølgelig fungerer det..

Innlegg Reset_ » 24.01.2005 17:16

Jeg registrerte meg i forumet av en grunn, og det var fordi jeg så denne tråden. Det er en fordel å vite hva man snakker om før man uttaler seg om ting..

Løsningen er ikke spesielt vanskelig heller:

#include <stdio.h>
#include <locale.h>

int main()
{
if (!setlocale(LC_CTYPE, "")) {
fprintf(stderr, "Can't set the specified locale! "
"Check LANG, LC_CTYPE, LC_ALL.\n");
return 1;
}
printf("%ls\n", L"Jøss.. det fungerer jo.. ÆØÅ æøå");
return 0;
}
There are 10 kind of people.. those who understand binary, and those who dont..
Reset_
Nytt medlem
 
Innlegg: 1
Registrert: 24.01.2005 17:09

Re: c++, æøå?

Innlegg Datateknikk » 12.12.2016 3:16

Hei, jeg lurer på åssen man får til norske æøå ÆØÅ ved bruk av cint og cout i C++
Her er min kode:
cout << "Hvor mange måneder jobbet du? ";
cin >> mnd;

måneder kommer ikke med en å, men ett rart tegn

Kode: Merk alt

// This program calculates the user's pay.
#include <iostream>
#include <locale.h>
#include <dos.h>
#include <windows.h>

using namespace std;

// This has to be saved in .cpp or it will not compile.

int main()

{
   
double timer, time, mnd, mva, pay, pay1, tax;
   
string navn;
cout << "Vennligst skriv inn ditt navn\n";
cin >> navn;
cout << "Hei, " << navn << '\n';
cout << "Og velkommen\n";

// Header
cout << "This program is copyrighted\nDatateknikk studios,\nall rights" << endl ;
cout << "" << endl ;

// Get the number of month worked.
// string mnd;
cout << "Hvor mange måneder jobbet du? ";
cin >> mnd;

// Get the number of hours worked.
cout << "Hvor mange timer jobbet du? ";
cin >> timer;

// Get the hourly pay rate.
cout << "Hvor mye tar du for timen? ";
cin >> time;

// Calculate the pay.
pay = timer * time * mnd * 1.25;
pay1 = timer * time * mnd;
mva = pay * 0.25;
tax = pay1 * 0.32;

// Display the pay.
cout << "Hei, " << navn << '\n';
cout << "Du tjener kr: "  << pay ;
cout << " inkludert MVA, som er: " << mva << '\n';
cout << "HUSK, BETAL SKATT, som er: " << tax << endl ;
system("PAUSE");
return 0;
}

Datateknikk
Nytt medlem
 
Innlegg: 1
Registrert: 12.12.2016 2:39


Gå til Serversideprogrammering og -språk

Hvem er i forumet

Brukere som leser i dette forumet: Ingen registrerte brukere og 3 gjester

cron