Ú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!
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Építő/felújító topik
- Xiaomi 17 Ultra - jó az optikája
- Autós topik
- exHWSW - Értünk mindenhez IS
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Luck Dragon: Asszociációs játék. :)
- Vigneau interaktív lokálblogja
- Anglia - élmények, tapasztalatok
- Genshin Impact (PC, PS4, Android, iOS)
- További aktív témák...
- ASUS VY229HF IPS Gaming Monitor! 1920x1080 / 100Hz / 1ms / FreeSync
- 27% - Asus RoG Strix XG27ACDNG QD-OLED Gaming Monitor! 2560x1440 / 360Hz / 0.03ms / G-Sync/ FreeSync
- Logitech g29 garanciás
- 27% - LG UltraFine 27UP650K-W IPS Monitor! 3840x2160 60 Hz
- 27% - AOC C27G4ZXE Gaming Monitor! 1920x1080 / 280Hz / 1ms / FreeSync
- BESZÁMÍTÁS! GIGABYTE RTX 5080 AERO OC 16GB videokártya garanciával hibátlan működéssel
- Samsung Galaxy S21+ / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- Lenovo ThinkStation P330 Gen 2 Tower workstation /számla- garancia
- 210 - Lenovo IdeaPad 5 Pro (16ARH7) - AMD Ryzen 7 6800HS, RTX 3050Ti
- 267 - Lenovo ThinkBook 16 (G6 ABP) - AMD Ryzen 5 7530U, no GPU
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


