C 标准库 - <locale.h>

C 语言 setlocale() 函数用于设置或查询程序的本地化环境,影响数字、货币、时间等格式。

原型

char *setlocale(int category, const char *locale);

category 常用 LC_ALL(全部)、LC_NUMERIC(数字)、LC_TIME(时间);locale 为 "C"(默认)、""(系统默认)或具体地区。

参数

  • category - 类别(LC_ALL/LC_NUMERIC 等);
  • locale - 地区字符串或 NULL(查询)。

示例

#include <stdio.h>
#include <locale.h>

int main() {
    setlocale(LC_ALL, "");   // 使用系统默认本地化
    printf("当前区域已设置\n");
    return 0;
}

输出:

当前区域已设置

注意事项

不调用 setlocale 时默认是 "C" 区域(英文格式)。需要处理非英文日期、货币格式时先调用它。