Új hozzászólás Aktív témák
-
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!
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 512GB SSD Radeon Pro 5500M garanciával
- AKCIÓ! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- iKing.Hu - Apple iPhone 14 Pro Max Stílusos erő, Pro kamera rendszerrel! 128GB - 3 hónap gari!
- ÚJ Asus TUF Gaming F17 FX707 - 17.3"FHD IPS 144Hz - i7-13620H - 16GB - 1TB - RTX 4060 -3 év garancia
- Bontatlan Lenovo T14S WUXGA Touch Ryzen5 Pro 7540U 16GB 256GB Radeon 740M Win11 Pro 3év Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest