Hirdetés
- HiFi műszaki szemmel - sztereó hangrendszerek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gaming notebook topik
- Az ötlet jó, de milyen a kivitelezés? Teszten a Chieftec Kockája
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Milyen egeret válasszak?
- Milyen RAM-ot vegyek?
- Öszvér módszerrel veszi fel a harcot a memóriapánikkal szemben az ASRock
- Pánik a memóriapiacon
- Vezeték nélküli fejhallgatók
Új hozzászólás Aktív témák
-
alapz@j
tag
válasz
#68216320
#4915
üzenetére
Viszont végre jól működik a program, mert az 'á' megjelent - még ha helytelen kódolással is - a feldolgozott sztringben
Egyébként ebből is látszik, hogy ez inkább konzol (terminál) probléma, mert a default 852 kódlappal ugyanaz az exe nálam is megeszi a szó eleji á-t. -
Jester01
veterán
válasz
#68216320
#4894
üzenetére
A forrásfájl kódolása tetszőleges lehet és független a futásidejű kódolástól. Az aktuális locale beállításból jön, alapértelmezése pedig utf8. Persze meg is lehet adni a fordítónak, gcc esetén a -finput-charset kapcsolóval.
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int main()
{
const wchar_t* text = L"árvíztűrő tükörfúrógép";
wchar_t buf[40];
setlocale(LC_ALL, "");
wprintf(L"Írd be, hogy %ls: ", text);
fgetws(buf, 40, stdin);
buf[wcslen(buf) - 1] = 0;
wprintf(L"Ezt írtad be: \"%ls\", %ls\n", buf,
wcscmp(text, buf) ? L"nem egyezik" : L"egyezik");
return 0;
}$ file test-utf8.c
test-utf8.c: C source, UTF-8 Unicode text
$ gcc -finput-charset=utf8 test-utf8.c
$ ./a.out
Írd be, hogy árvíztűrő tükörfúrógép: árvíztűrő tükörfúrógép
Ezt írtad be: "árvíztűrő tükörfúrógép", egyezik
$ iconv -f utf8 -t iso8859-2 < test-utf8.c > test-latin2.c
$ gcc -finput-charset=iso8859-2 test-latin2.c
$ ./a.out
Írd be, hogy árvíztűrő tükörfúrógép: árvíztűrő tükörfúrógép
Ezt írtad be: "árvíztűrő tükörfúrógép", egyezikMégegyszer, röviden: a forrás tetszőleges kódlappal lehet, ha azt megmondod a fordítónak. Futásidőben pedig a setlocale megfelelő használata szükséges. Ennyi.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Warhammer 40.000
- HiFi műszaki szemmel - sztereó hangrendszerek
- Sorozatok
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Máris megvásárolható az Ulefone új RugKing szériája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- alza vélemények - tapasztalatok
- Spórolós topik
- Gaming notebook topik
- További aktív témák...
- Game Pass Ultimate előfizetés azonnal, problémamentesen, méghozzá OLCSÓN! Immáron 8 éve!
- Azonnali készpénzes Intel i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- Corsair T3 RUSH gamer, irodai szék
- Eladó Samsung Galaxy S21 FE 5G 6/128GB / 12 hó jótállás
- Netatmo Presence okos kültéri kamera / 12 hó jótállás
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Egyébként ebből is látszik, hogy ez inkább konzol (terminál) probléma, mert a default 852 kódlappal ugyanaz az exe nálam is megeszi a szó eleji á-t.


