#include <stdlib.h> // <cstdlib> en C++
#define MB_CUR_MAX (__ctype_get_mb_cur_max ())
Renvoi la longueur maximale d'un caractère multi-octets dans la localisation courante. Cette longueur est déterminer via une expression qui tiendra compte de la localisation en cours d'utilisation.
setlocale
définie dans l'entête <locale.h>
.
Par défaut, c'est le locale "C" qui est utilisé (en fait, l'encodage ASCII avec ses 128 caractères).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <locale.h> #include <stdio.h> #include <stdlib.h> int main() { setlocale( LC_ALL, "C" ); printf( "ASCII => %lu \n", MB_CUR_MAX ); setlocale( LC_ALL, "en_US.iso-8859-1" ); printf( "ISO-8859-1 => %lu \n", MB_CUR_MAX ); setlocale( LC_ALL, "en_US.utf8" ); printf( "UTF-8 => %lu \n", MB_CUR_MAX ); return EXIT_SUCCESS; } |
Et voici les résultats produits par cet exemple :
$> gcc -o sample sample.c $> ./sample ASCII => 1 ISO-8859-1 => 1 UTF-8 => 6 $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :