Hirdetés
- ASUS blog: a memóriahiány nem jelenti azt, hogy ne javíthatnánk a PC-s élményen
- Rosewill "kockák" az egyedi NAS vagy házi szerver összerakásán gondolkodóknak
- Hét évet kapott a Samsung korábbi, Kínának kémkedő mérnöke
- Már nem egy, hanem két gyorsítót tartalmaz az új Google TPU generáció
- Jelentősen meglazítja a gyeplőt a Windows 11 frissítéseknél a Microsoft
- OLED monitor topic
- Jelentősen meglazítja a gyeplőt a Windows 11 frissítéseknél a Microsoft
- HiFi műszaki szemmel - sztereó hangrendszerek
- Nem indul és mi a baja a gépemnek topik
- Apple MacBook
- Hét évet kapott a Samsung korábbi, Kínának kémkedő mérnöke
- LG LCD és LED TV-k
- Fujifilm X
- AMD Navi Radeon™ RX 9xxx sorozat
- Fejhallgató erősítő és DAC topik
Új hozzászólás Aktív témák
-
llaszlo
veterán
A következő ötletem támadt. Két tömböt hozok létre az egyik tartalmazza a karaktereket kis- és nagybetűkkel a másik pedig az ezekhez tartozó számokat.
Viszont
Miért foglalnak két helyet egy tömbben az ékezetes karakterek?int x=0;
unsigned char betu []="AaÁáBbCcDdEeÉéFfGgHhIiJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz";Kiíratáskor, viszont ez fogad
while (betu[x])
{
printf ("x=%d %c ", x, betu [x]);
x++;
}x=0 A x=1 a x=2 � x=3 � x=4 � x=5 � x=6 B x=7 b x=8 C x=9 c x=10 D x=11 d x=12 E x=13 e x=14 � x=15 � x=16 � x=17 � x=18 F x=19 f x=20 G x=21 g x=22 H x=23 h x=24 I x=25 i x=26 J x=27 j x=28 K x=29 k x=30 L x=31 l x=32 M x=33 m x=34 N x=35 n x=36 O x=37 o x=38 � x=39 � x=40 � x=41 � x=42 � x=43 � x=44 � x=45 � x=46 � x=47 � x=48 � x=49 � x=50 P x=51 p x=52 Q x=53 q x=54 R x=55 r x=56 S x=57 s x=58 T x=59 t x=60 U x=61 u x=62 � x=63 � x=64 � x=65 � x=66 � x=67 � x=68 � x=69 � x=70 � x=71 � x=72 � x=73 � x=74 V x=75 v x=76 W x=77 w x=78 X x=79 x x=80 Y x=81 y x=82 Z x=83 z
Az ékezetes karakterek helyén ?-ek vannak.
Így látszólag jó, viszont az x értéke mutatja, hogy mégsem egy 69-es tömböt, hanem egy 85-ös tömböt foglal le a \0-val együtt.
while (betu[x])
{
printf ("x=%d %c ", x, betu [x]);
x++;
}printf ("%d", x);
AaÁáBbCcDdEeÉéFfGgHhIiJjKkLlMmNnOoÓóÖöŐőPpQqRrSsTtUuÚúÜüŰűVvWwXxYyZz84
Az ékezetes karaktereket 16 biten tárolná és nem 8-on, a char pedig csak 8-cal dolgozik?
Ez lenne a hiba oka?
Mi lehet a megoldás?Szerk: Visszaolvastam a fórumot is az ékezetes karakterekkel kapcsolatban és láttam, hogy másnál is gondot okoz. Melyik megoldás lenne ebben az esetben a legcélszerűbb?
Ú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!
- One otthoni szolgáltatások (TV, internet, telefon)
- Synology NAS
- Motoros topic
- OLED monitor topic
- Gyúrósok ide!
- Diablo IV
- Jelentősen meglazítja a gyeplőt a Windows 11 frissítéseknél a Microsoft
- Nagyrobogósok baráti topikja
- Építő/felújító topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Xiaomi 13T 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Katana HX B14WFK 15.6" QHD IPS i7-14650HX RTX 5060 16GB 512GB NVMe magyar vbill gar
- Asus A15 FA506NC 15.6" FHD IPS Ryzen 5 7535HS RTX 3050 16GB 512GB NVMe magyar vbill gar
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7400 / GTX 1650 / 16GB DDR4 / 256 SSD + 1TB HDD
- GAMING PC! i5-12400F / RTX 5060 / 32GB DDR5 / 512GB NVMe / 600w! BeszámítOK
- AKCIÓ! Gigabyte B650M R7 8700F 64GB DDR5 1TB SSD RTX 5070 Ti 16GB Lian LI LANCOOL207 ADATA 850W
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS4031
- Samsung, SK Hynix 8GB / 16GB / 32GB DDR5 laptop Memoria!
- iPhone 13 Pro 128GB 100% (1év Garancia) - ÚJ EREDETI AKKUMULÁTOR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

