Caratteri WideWide Characters

ANSI 3.1.3.4 Valore di una costante carattere Integer contenente più caratteri o costanti caratteri wide che contengono più caratteri 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 costante carattere normale 'ab' ha l'Integer (int)0x6162.The regular character constant, 'ab' has the integer value (int)0x6162. Quando sono presenti più byte, i byte letti in precedenza vengono spostati del valore di CHAR_BIT e il byte successivo viene confrontato tramite l'operatore OR bit per bit con i bit CHAR_BIT meno significativi.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. Il numero di byte nella costante carattere multibyte non può superare sizeof(int), ovvero 4 per il codice di destinazione a 32 bit.The number of bytes in the multibyte character constant cannot exceed sizeof(int), which is 4 for 32-bit target code.

La costante carattere multibyte viene letta come descritto in precedenza e viene convertita in una costante carattere "wide" mediante la funzione di runtime mbtowc.The multibyte character constant is read as above and this is converted to a wide-character constant using the mbtowc run-time function. Se il risultato non è una costante carattere "wide" valida, viene generato un errore.If the result is not a valid wide-character constant, an error is issued. In ogni caso, il numero di byte esaminato dalla funzione mbtowc è limitato al valore di MB_CUR_MAX.In any event, the number of bytes examined by the mbtowc function is limited to the value of MB_CUR_MAX.

Vedere ancheSee Also

CaratteriCharacters