跳转至

langinfo

langinfo 提供语言信息查询功能,根据指定的 nl_item 项获取当前或指定 locale 环境下的语言、日期、货币等本地化字符串信息。

头文件清单

#include "open_source/musl/include/langinfo.h"

接口清单

接口名称 功能简述
nl_langinfo 返回当前locale环境下指定项的语言信息字符串
nl_langinfo_l 返回指定locale环境下指定项的语言信息字符串

Functions

nl_langinfo

char *nl_langinfo(nl_item)

头文件清单

#include "open_source/musl/include/langinfo.h"

功能说明

  • 根据传入的nl_item项,查询当前locale环境下对应的语言信息字符串
  • 返回值指向静态字符串,内容随当前locale设置变化(如星期名、月份名、日期格式、编码集等)
  • 若查询项在当前locale中无对应值,返回空字符串

入参

名称 参数类型 详细说明 约束取值范围
item nl_item 指定需要查询的语言信息项 ABDAY_1(0x20000) ~ ABDAY_7(0x20006)、DAY_1(0x20007) ~ DAY_7(0x2000D)、ABMON_1(0x2000E) ~ ABMON_12(0x20019)、MON_1(0x2001A) ~ MON_12(0x20025)、AM_STR(0x20026)、PM_STR(0x20027)、D_T_FMT(0x20028)、D_FMT(0x20029)、T_FMT(0x2002A)、T_FMT_AMPM(0x2002B)、ERA(0x2002C)、ERA_D_FMT(0x2002E)、ALT_DIGITS(0x2002F)、ERA_D_T_FMT(0x20030)、ERA_T_FMT(0x20031)、CODESET(14)、CRNCYSTR(0x4000F)、RADIXCHAR(0x10000)、THOUSEP(0x10001)、YESEXPR(0x50000)、NOEXPR(0x50001)

返回值

  • 返回类型:char *
返回值 文字含义 触发场景
char * 指向语言信息字符串的指针 正常返回对应项的字符串
"" (空字符串) 查询项在当前locale中无对应值 item超出有效范围或当前locale不支持该查询项

nl_langinfo_l

char *nl_langinfo_l(nl_item, locale_t)

头文件清单

#include "open_source/musl/include/langinfo.h"

功能说明

  • 根据传入的nl_item项,查询指定locale环境下对应的语言信息字符串
  • 与nl_langinfo的区别在于允许显式指定locale对象,而非使用当前线程的locale设置
  • 若查询项在指定locale中无对应值,返回空字符串

入参

名称 参数类型 详细说明 约束取值范围
item nl_item 指定需要查询的语言信息项 ABDAY_1(0x20000) ~ ABDAY_7(0x20006)、DAY_1(0x20007) ~ DAY_7(0x2000D)、ABMON_1(0x2000E) ~ ABMON_12(0x20019)、MON_1(0x2001A) ~ MON_12(0x20025)、AM_STR(0x20026)、PM_STR(0x20027)、D_T_FMT(0x20028)、D_FMT(0x20029)、T_FMT(0x2002A)、T_FMT_AMPM(0x2002B)、ERA(0x2002C)、ERA_D_FMT(0x2002E)、ALT_DIGITS(0x2002F)、ERA_D_T_FMT(0x20030)、ERA_T_FMT(0x20031)、CODESET(14)、CRNCYSTR(0x4000F)、RADIXCHAR(0x10000)、THOUSEP(0x10001)、YESEXPR(0x50000)、NOEXPR(0x50001)
loc locale_t 指定的locale对象 非NULL的locale_t指针

返回值

  • 返回类型:char *
返回值 文字含义 触发场景
char * 指向语言信息字符串的指针 正常返回对应项的字符串
"" (空字符串) 查询项在指定locale中无对应值 item超出有效范围或指定locale不支持该查询项

Type definitions

nl_item

typedef int nl_item;

使用说明

nl_langinfo和nl_langinfo_l接口的入参类型,用于指定查询的语言信息项

locale_t

typedef struct __locale_struct * locale_t;

使用说明

nl_langinfo_l接口的入参类型,用于指定locale环境对象

Macros

ABDAY_1

#define ABDAY_1 0x20000

ABDAY_2

#define ABDAY_2 0x20001

ABDAY_3

#define ABDAY_3 0x20002

ABDAY_4

#define ABDAY_4 0x20003

ABDAY_5

#define ABDAY_5 0x20004

ABDAY_6

#define ABDAY_6 0x20005

ABDAY_7

#define ABDAY_7 0x20006

DAY_1

#define DAY_1 0x20007

DAY_2

#define DAY_2 0x20008

DAY_3

#define DAY_3 0x20009

DAY_4

#define DAY_4 0x2000A

DAY_5

#define DAY_5 0x2000B

DAY_6

#define DAY_6 0x2000C

DAY_7

#define DAY_7 0x2000D

ABMON_1

#define ABMON_1 0x2000E

ABMON_2

#define ABMON_2 0x2000F

ABMON_3

#define ABMON_3 0x20010

ABMON_4

#define ABMON_4 0x20011

ABMON_5

#define ABMON_5 0x20012

ABMON_6

#define ABMON_6 0x20013

ABMON_7

#define ABMON_7 0x20014

ABMON_8

#define ABMON_8 0x20015

ABMON_9

#define ABMON_9 0x20016

ABMON_10

#define ABMON_10 0x20017

ABMON_11

#define ABMON_11 0x20018

ABMON_12

#define ABMON_12 0x20019

MON_1

#define MON_1 0x2001A

MON_2

#define MON_2 0x2001B

MON_3

#define MON_3 0x2001C

MON_4

#define MON_4 0x2001D

MON_5

#define MON_5 0x2001E

MON_6

#define MON_6 0x2001F

MON_7

#define MON_7 0x20020

MON_8

#define MON_8 0x20021

MON_9

#define MON_9 0x20022

MON_10

#define MON_10 0x20023

MON_11

#define MON_11 0x20024

MON_12

#define MON_12 0x20025

AM_STR

#define AM_STR 0x20026

PM_STR

#define PM_STR 0x20027

D_T_FMT

#define D_T_FMT 0x20028

D_FMT

#define D_FMT 0x20029

T_FMT

#define T_FMT 0x2002A

T_FMT_AMPM

#define T_FMT_AMPM 0x2002B

ERA

#define ERA 0x2002C

ERA_D_FMT

#define ERA_D_FMT 0x2002E

ALT_DIGITS

#define ALT_DIGITS 0x2002F

ERA_D_T_FMT

#define ERA_D_T_FMT 0x20030

ERA_T_FMT

#define ERA_T_FMT 0x20031

CODESET

#define CODESET 14

CRNCYSTR

#define CRNCYSTR 0x4000F

RADIXCHAR

#define RADIXCHAR 0x10000

THOUSEP

#define THOUSEP 0x10001

YESEXPR

#define YESEXPR 0x50000

NOEXPR

#define NOEXPR 0x50001