#define MB_CUR_MAX positive-integer-expression
概要
現在のロケールのマルチバイト文字の最大バイト数を示すマクロ。
この定数はコンパイル時定数ではなく、実行時に変化する可能性がある。
この値がMB_LEN_MAXを超えることはない。
結果型
size_t型の正の整数値。
例
#include <iostream>
#include <clocale>
#include <cstdlib>
int main() {
//C ロケール(標準ASCII)
std::cout << "Locale: standard, MB_CUR_MAX: " << MB_CUR_MAX << std::endl;
//ロケールを日本(UTF-8)に変更
if (std::setlocale(LC_CTYPE, "ja_JP.UTF-8") == nullptr) {
std::cout << "Failed to set locale to ja_JP.UTF-8" << std::endl;
} else {
std::cout << "Locale: ja_JP.UTF-8, MB_CUR_MAX: " << MB_CUR_MAX << std::endl;
}
}
出力例
Locale: standard, MB_CUR_MAX: 1
Locale: ja_JP.UTF-8, MB_CUR_MAX: 6
関連項目
MB_LEN_MAX: 全ロケールでのマルチバイト文字の最大バイト数setlocale: ロケールを変更する