Sdílet prostřednictvím


Široké znaky

ANSI 3.1.3.4 Hodnota celočíselné znakové konstanty, která obsahuje více než jeden znak nebo širokou znakovou konstantu, která obsahuje více než jeden vícebajtový znak

Běžná znaková konstanta 'ab' má celočíselnou hodnotu (int)0x6162. Pokud existuje více bajtů, posunou se dříve přečtené bajty o hodnotu CHAR_BIT a další bajt se porovná pomocí bitového operátoru OR s nízkými CHAR_BIT bity. Počet bajtů ve vícebajtové znakové konstantě nemůže překročit hodnotu sizeof(int), která je pro 32bitový cílový kód 4.

Vícebajtová znaková konstanta je přečtena dle popisu výše a hodnota je převedena na konstantu širokého znaku pomocí funkce modulu runtime mbtowc. Není-li výsledek platnou konstantou širokého znaku, je vygenerována chyba. V každém případě je počet bajtů vyšetřených funkcí mbtowc omezen na hodnotu MB_CUR_MAX.

Viz také

Znaky