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
162
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
En usko et meistä tulee jotain
Se ei kuitenkaan estä toivomasta et tulisi. Toivon et voitas suudella ja se sais asioita loksahtamaan paikoilleen. Jutel102880- 1152145
Eini paljastaa nuorekkuutensa salaisuuden - Tämä nousee framille: "Se on pakko, että jaksaa!"
Discokuningatar Eini on täyttänyt upeat 64 vuotta. Lavoilla ja keikoilla nähdään entistä vapautuneempi artisti, joka ei431554- 2601398
- 701013
Olen J-mies
Jos kerrot sukunimeni alkukirjaimen, ja asuinpaikkakuntani. Lupaan ottaa yhteyttä sinuun.47911- 55884
Ei sitten, ei olla enää
Missään tekemisissä. Unohdetaan kaikki myös se että tunsimme. Tätä halusit tämän saat. J miehelle. Rakkaudella vaalea na77880- 44795
Ma 30.9 tosiko tv klo 18 suorana Tikkalanmäeltä
Virastolta suorana. Äänestyksistä sitten puhutaan illalla ja huomenna, onko kepuvasemmisto kuntalaisten tahdon mukaan to93736