Chyba v triedeni cs_CZ & sk_SK
Karel Zak
zakkr na zf.jcu.cz
Pátek Květen 30 09:36:11 CEST 2003
On Fri, May 30, 2003 at 09:09:30AM +0200, Ing. Pavel PaJaSoft Janousek wrote:
> > -----Original Message-----
> > From: Karel Zak [mailto:zakkr na zf.jcu.cz]
> > A nebyla to SQL norma? :-) Tam varchar(10) znamena deset znaku a tedy
> > treba 20 byte pokud jsou to multibyte znaky. Ale pouzivat tuto logiku
> > u C si neumim predstavit. To by tak bylo chapano jen v sizeof() nebo
>
> Ja take ne, zejmena proto ne, ze C je nizkourovnovy jazyk a ma
> jasne definovanou jednotku (fyzickou velikost) pro bit, byte, int apod.
Tim jsi si odpovedel.
> (mozna i endian ale to si nejsem jisty). A prave z toho duvodu opakuji
> furt to same - jazyk C/C++ neni na znaky vetsi jak 1 byte vubec
Right tool for right task at right time?
Jasne treba strojovy jazyk na tom bude jeste o poznani hure. Urcite
najdeme i dalsi veci, ktere nejsou primo na urovni jazyka v C moc
resene, ale rada lidi ma ten jazyk prave pro tu nizkourovnovost rada
a ta uroven nizkourovnovost je tak genialne nastavena, ze pri pouziti
knihoven, ktere podobne problemy resi, neni nutne samotny jazyk
podobnou veci "spinit". A pri tom se v tom da porad jeste programovat,
narozdil od mnoha nizsich nebo vyssich jazyku, ktere jsou bud
nepouzitelne slozite nebo na urovni jazyka resi veci, ktere casem
moralne a nekdy i po strance myslenky jazyka ucini ten jazyk
nepouzitelny.
> pripraven a nepocita s nimi jednoduse proto, ze o nich nic nevi a nijak
> je nedefinuje, at uz syntaxi jazyka, tak "core" libC - ukazte mi opak,
> zejmena ti, kteri tvrdi, ze resit toto v C je stejne narocne jako
> vetsina beznych jinych praci.
Resit a pouzivat se to da, viz. GTK. Obtiznost je o pocitu. IMHO
nejvetsi problem je pokud uz je pouzivan unicode tak dosahnout toho,
aby cele prostredi, ktereho se program nejak dotyka bylo v unicodove.
To se daleko lepe resi treba v Jave, ktere ma to stesti, ze bezi ve
vlastnim "svete". V C/C++ je nutne osetrovat veci jako, ze program
ciste delany v unicode dostane od systemu error hlasku v latin2 (pokud
vubec ciste a prenositelne ten program dokaze zjistit takovou ptakovinu
jako jake kodovani to prostredi v kterem bezi pouziva :-)
Karel
Norma (http://std.dkuug.dk/JTC1/SC22/WG14/www/docs/n843.htm):
6.5.3.4 The sizeof operator
Semantics
[#2] The sizeof operator yields the size (in bytes) of its
^^^^^^^^^^^^^^^^^^^^^^^^^^^
operand, which may be an expression or the parenthesized
name of a type. The size is determined from the type of the
operand. The result is an integer. If the type of the
operand is a variable length array type, the operand is
evaluated; otherwise, the operand is not evaluated and the
result is an integer constant.
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
Další informace o konferenci Linux