Kezdőlap › Fórumok › Vegyes gondok › Magyar betűk
- This topic has 68 hozzászólás, 5 résztvevő, and was last updated 17 years, 5 months telt el by
uzsolt.
-
SzerzőBejegyzés
-
2008-01-27-18:01 #2151493uzsolt wrote:Code:void main () {
char *str;
wchar_t *uni;setlocale(LC_ALL, „hu_HU”);
str=malloc(300);
str=”ödön”;
uni=locale_to_wchar(str);
if (uni==NULL) { printf(„nulln”); } else {printf(„%sn”,uni);}
}Kiírja, hogy 4 hosszú az ödön, de csak egy „ö” betűt nyom ki.
Probald meg a printf-ben %s helyett %ls-el.
Referencia: http://www.opengroup.org/onlinepubs/007908775/xsh/fprintf.htmls
The argument must be a pointer to an array of char, Bytes from the array are written up to (but not including) any terminating null byte. If the precision is specified, no more than that many bytes are written. If the precision is not specified or is greater than the size of the array, the array must contain a null byte. If an l (ell) qualifier is present, the argument must be a pointer to an array of type wchar_t.2008-01-27-18:01 #2151494uzsolt wrote:Code:void main () {
char *str;
wchar_t *uni;setlocale(LC_ALL, „hu_HU”);
str=malloc(300);
str=”ödön”;
uni=locale_to_wchar(str);
if (uni==NULL) { printf(„nulln”); } else {printf(„%sn”,uni);}
}Kiírja, hogy 4 hosszú az ödön, de csak egy „ö” betűt nyom ki.
Probald meg a printf-ben %s helyett %ls-el.
Referencia: http://www.opengroup.org/onlinepubs/007908775/xsh/fprintf.htmls
The argument must be a pointer to an array of char, Bytes from the array are written up to (but not including) any terminating null byte. If the precision is specified, no more than that many bytes are written. If the precision is not specified or is greater than the size of the array, the array must contain a null byte. If an l (ell) qualifier is present, the argument must be a pointer to an array of type wchar_t.2008-01-27-18:27 #2151495OK, így kiírja azt, hogy ödön, de egy nem utf-kódolású terminálon az ö betűk helyett nem dupla karaktereket kellene látnom?
Az awesome kódjába se jó beírni, mármint ott is csak az első karakterek jelennek meg, sőt, az ékezetet is tartalmazó szövegek első betűje se…2008-01-27-18:27 #2151496OK, így kiírja azt, hogy ödön, de egy nem utf-kódolású terminálon az ö betűk helyett nem dupla karaktereket kellene látnom?
Az awesome kódjába se jó beírni, mármint ott is csak az első karakterek jelennek meg, sőt, az ékezetet is tartalmazó szövegek első betűje se…2008-01-27-18:57 #2151497érdemes 1-féle kódolást használni
(tehát létrehozni egy env-t és már a bejelentkezéskor azt használni, különben olyan furcsa dolgok lesznek, hogy máskép jelenik meg adott esetben pl. a programban vagy a task listában… ezek a rendszerről, ill. programokról szólnak… a feldolgozandó dokumentumok egy másik kérdés)2008-01-27-18:57 #2151498érdemes 1-féle kódolást használni
(tehát létrehozni egy env-t és már a bejelentkezéskor azt használni, különben olyan furcsa dolgok lesznek, hogy máskép jelenik meg adott esetben pl. a programban vagy a task listában… ezek a rendszerről, ill. programokról szólnak… a feldolgozandó dokumentumok egy másik kérdés)2008-01-27-19:22 #2151499vizsla wrote:érdemes 1-féle kódolást használniIgen, sejtem én. Biztosan menne az utf8-cal is, csak lehet, hogy egy kicsit több időt kellene rászánni a váltásra. Arra meg lusta vagyok 🙁
Most újra szimpla iso-kódolás van, szinte már megszoktam, hogy (néha) nincs ablakcím a státusszorban 😉2008-01-27-19:22 #2151500vizsla wrote:érdemes 1-féle kódolást használniIgen, sejtem én. Biztosan menne az utf8-cal is, csak lehet, hogy egy kicsit több időt kellene rászánni a váltásra. Arra meg lusta vagyok 🙁
Most újra szimpla iso-kódolás van, szinte már megszoktam, hogy (néha) nincs ablakcím a státusszorban 😉2008-01-28-09:01 #2151501uzsolt wrote:OK, így kiírja azt, hogy ödön, de egy nem utf-kódolású terminálon az ö betűk helyett nem dupla karaktereket kellene látnom?Az szerintem a prinft-tol fugg. Lehet, hogy eloszor megnezi, hogy mifele kodolast hasznal a terminal, aztan eloszor abba alakitja az uft8-as szoveget, majd ugy irja ki.
uzsolt wrote:Az awesome kódjába se jó beírni, mármint ott is csak az első karakterek jelennek meg, sőt, az ékezetet is tartalmazó szövegek első betűje se…Ez akkor tortenik, ha ISO kodolas van beallitva? Akkor lehet, hogy a cairo a hibas (beleneztem a kodjaba, de csak adott ponton tul csak debuggerrel lehet kitalalni, hogy pontosan mit is csinal a cairo_show_text).
2008-01-28-09:01 #2151502uzsolt wrote:OK, így kiírja azt, hogy ödön, de egy nem utf-kódolású terminálon az ö betűk helyett nem dupla karaktereket kellene látnom?Az szerintem a prinft-tol fugg. Lehet, hogy eloszor megnezi, hogy mifele kodolast hasznal a terminal, aztan eloszor abba alakitja az uft8-as szoveget, majd ugy irja ki.
uzsolt wrote:Az awesome kódjába se jó beírni, mármint ott is csak az első karakterek jelennek meg, sőt, az ékezetet is tartalmazó szövegek első betűje se…Ez akkor tortenik, ha ISO kodolas van beallitva? Akkor lehet, hogy a cairo a hibas (beleneztem a kodjaba, de csak adott ponton tul csak debuggerrel lehet kitalalni, hogy pontosan mit is csinal a cairo_show_text).
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz