Caracteres anchosWide Characters

ANSI 3.1.3.4 Valor de una constante de caracteres enteros que contiene más de un carácter o una constante de caracteres anchos que contiene más de un carácter multibyteANSI 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

La constante de caracteres normales "ab" tiene el valor entero (int)0x6162.The regular character constant, 'ab' has the integer value (int)0x6162. Cuando hay más de un byte, los bytes de lectura anteriores se desplazan a la izquierda según el valor de CHAR_BIT y el byte siguiente se compara mediante el operador OR bit a bit con los bits inferiores de 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. El número de bytes de la constante de caracteres multibyte no puede superar sizeof(int), que es 4 para el código de 32 bits de destino.The number of bytes in the multibyte character constant cannot exceed sizeof(int), which is 4 for 32-bit target code.

La constante de caracteres multibyte se lee como se indica arriba y se convierte en una constante de caracteres anchos mediante la función en tiempo de ejecución mbtowc.The multibyte character constant is read as above and this is converted to a wide-character constant using the mbtowc run-time function. Si el resultado no es una constante de caracteres anchos válida, se produce un error.If the result is not a valid wide-character constant, an error is issued. En cualquier caso, el número de bytes examinados por la función mbtowc se limita al valor de MB_CUR_MAX.In any event, the number of bytes examined by the mbtowc function is limited to the value of MB_CUR_MAX.

Vea tambiénSee also

CaracteresCharacters