#ifndef _LOCALE_H #define _LOCALE_H #ifdef __cplusplus extern "C" { #endif #include #ifdef __XLT_OS__ #undef NULL #endif #ifdef __cplusplus #define NULL 0L #else #define NULL ((void*)0) #endif #define LC_CTYPE 0 #define LC_NUMERIC 1 #define LC_TIME 2 #define LC_COLLATE 3 #define LC_MONETARY 4 #define LC_MESSAGES 5 #define LC_ALL 6 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; }; /** * @ingroup locale * @par Description: * This API is used to selects the appropriate piece of the global locale, as specified by the category and locale arguments, * and can be used to change or query the entire global locale or portions thereof. * * @attention * * * @retval #NULL Failed to set, the input param invalid or the locale name not supported. * @retval #char* The string associated with the specified category for the new locale if successful. * * @par Dependency: * * * @see None * * @since Huawei LiteOS V100R001C00 */ char *setlocale (int, const char *); struct lconv *localeconv(void); #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define __NEED_locale_t #include #define LC_GLOBAL_LOCALE ((locale_t)-1) #define LC_CTYPE_MASK (1<