Mutta onko mahdollista tehdä makro TO_OEM, joka jo käännösvaiheessa muuntaisi merkit:
windows-1252 -> chcp850 ?
Siis sitä käytettäisiin näin:
printf( TO_OEM( "hyvää yötä, hÄrÖ !\n") );
linkit:
http://en.wikipedia.org/wiki/Windows_1252
http://en.wikipedia.org/wiki/Code_page_850
Allooleva ohjelma toimii ainakin:
Borland C 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
---------------------------------------- ohjelman lähdekoodi alkaa -------------------------------
/*
näin saadaan oikein toimivat ä ja ö -kirjaimet win32 -konsolisovellukseen ( chcp 850 tai chcp 437 )
ä 132 = \x84
ö 148 = \x94
Ä 142 = \x8e
Ö 153 = \x99
Lisää koodeja täältä:
http://en.wikipedia.org/wiki/Code_page_850
*/
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int ParamCount, i;
ParamCount = argc-1;
printf("\n");
printf("argumenttien m\x84\x84r\x84: %d\n", ParamCount);
printf("\n");
for (i=1; i
konsolisovellus, ä ja ö, komentoriviparametrit
C_Opiskelija
2
138
Vastaukset
- pikku vinkkeja
On mahdollista, mutta ei ihan yksinkertaista.
Jos käytät C-kieltä, niin TO_OEM:n pitää huolehtia muistista oikein, esim. käyttämällä ennakolta varattua merkkijonomuuttujaa, minne kopioi muunnetun merkkijonon (ja tarkistaa ylivuodot...).
C :lla voit palauttaa TO_OEM:stä string-tyyppisen muuttujan avulla esim.
std::string TO_OEM_apu(const char* arg)
{
std::string s = arg;
// muunna ensin s:n merkit ensin for-silmukassa
return s;
}
#define TO_OEM(a) TO_OEM_apu(a).c_str()- pikku vinkkeja
Jaahas, taas aaltosulut tippuivat yllä. Mutta osaat varmaan lisätä ne itse.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 692247
Jotain puuttuu
Kun en sinua näe. Et ehkä arvaisi, mutta olen arka kuin alaston koivu lehtiä vailla, talven jäljiltä, kun ajattelen sinu1012073- 781688
- 781506
Hei A, osaatko
sanoa, miksi olet ihan yhtäkkiä ilmestynyt kaveriehdotuksiini Facebookissa? Mitähän kaikkea Facebook tietää mitä minä en411500- 101397
- 311364
Persuilla ja Saksi-Riikalla meni sitten pornon levittämiseksi koko touhu.
Onko kenellekään yllätys?521258Synnittömänä syntyminen
Helluntailaisperäisillä lahkoilla on Raamatunvastainen harhausko että ihminen syntyy synnittömänä.621200Mitä tämä tarkoittaa,
että näkyy vain viimevuotisia? Kirjoitin muutama tunti sitten viestin, onko se häipynyt avaruuteen?281179