Расширенные символыWide Characters

ANSI 3.1.3.4 Значение целочисленной символьной константы, которая содержит более одного символа, или расширенной символьной константы, которая содержит более одного многобайтового символаANSI 3.1.3.4 The value of an integer character constant that contains more than one character or a wide character constant that contains more than one multibyte character

Обычная символьная константа, ab, имеет целочисленное значение (int)0x6162.The regular character constant, 'ab' has the integer value (int)0x6162. Если размер составляет более одного байта, то ранее считанные байты сдвигаются влево на значение CHAR_BIT, а следующий байт сравнивается (при помощи оператора побитового ИЛИ) с младшими битами значения CHAR_BIT.When there is more than one byte, previously read bytes are shifted left by the value of CHAR_BIT and the next byte is compared using the bitwise-OR operator with the low CHAR_BIT bits. Число байтов в многобайтовой символьной константе не может превышать (int) — 4 байта в коде для 32-разрядной системы.The number of bytes in the multibyte character constant cannot exceed sizeof(int), which is 4 for 32-bit target code.

Многобайтовая символьная константа считывается так же и преобразуется в расширенную символьную константу с помощью функции времени выполнения mbtowc.The multibyte character constant is read as above and this is converted to a wide-character constant using the mbtowc run-time function. Если результат не является допустимой многобайтовой символьной константой, выводится ошибка.If the result is not a valid wide-character constant, an error is issued. В любом случае число байтов, проверяемое функцией mbtowc, ограничено значением MB_CUR_MAX.In any event, the number of bytes examined by the mbtowc function is limited to the value of MB_CUR_MAX.

См. такжеSee also

СимволыCharacters