nl_langinfo ()- 擷取語言環境資訊

格式

#include <langinfo.h>
#include <nl_types.h>
char *nl_langinfo(nl_item item);

語言層次

XPG4

安全執行緒

區分語言環境

此函數的行為可能受到現行語言環境的 LC_CTYPE、LC_MESSAGES、LC_MONETARY、LC_NUMERIC 及 LC_TIME 種類的影響。 在編譯指令上指定 LOCALETYPE (*CLD) 時,無法使用此函數。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境

說明

nl_langinfo() 函數會從現行語言環境中擷取字串,該字串說明 item指定的所要求資訊。

支援從現行語言環境擷取下列資訊:

項目 說明
字碼集 字元格式的語言環境 CCSID
_T_FMT 用於格式化日期和時間的字串
_FMT 日期格式字串
T_FMT 時間格式字串
_FMT_AMPM a.m. 或 p.m。 時間格式字串
AM_STR 子午線貼文
PM_STR 子午線貼文
DAY_1 星期幾第一天的名稱 (例如, Sunday)
DAY_2 星期第二天的名稱 (例如,星期一)
DAY_3 星期第三天的名稱 (例如,星期二)
DAY_4 星期第四天的名稱 (例如,星期三)
DAY_5 每週第五天的名稱 (例如,星期四)
DAY_6 name of the 6th day of the week (for example ,星期五)
DAY_7 一週第七天的名稱 (例如,星期六)
ABDAY_1 一週第一天的縮寫名稱
ABDAY_2 星期第二天的縮寫名稱
ABDAY_3 星期第三天的縮寫名稱
ABDAY_4 每週第四天的縮寫名稱
ABDAY_5 每週第五天的縮寫名稱
ABDAY_6 每週第六天的縮寫名稱
ABDAY_7 星期第七天的縮寫名稱
MON_1 年份第一個月的名稱
MON_2 年度第二個月的名稱
MON_3 name of the third month of the year
MON_4 年份第四個月的名稱
MON_5 年度第五個月的名稱
MON_6 年度第六個月的名稱
MON_7 年度第七個月的名稱
MON_8 年度第八個月的名稱
MON_9 年度第九個月的名稱
MON_10 name of the 10 month of the year
MON_11 年度第 11 個月的名稱
MON_12 一年第十二個月的名稱
ABMON_1 年份第一個月的縮寫名稱
ABMON_2 年份第二個月的縮寫名稱
ABMON_3 年份第三個月的縮寫名稱
ABMON_4 年份第四個月的縮寫名稱
ABMON_5 年份第五個月的縮寫名稱
ABMON_6 年份第六個月的縮寫名稱
ABMON_7 年份第七個月的縮寫名稱
ABMON_8 年份第八個月的縮寫名稱
ABMON_9 年度第九個月的縮寫名稱
ABMON_10 年份第十個月的縮寫名稱
ABMON_11 年份第 11 個月的縮寫名稱
ABMON_12 年份第十二個月的縮寫名稱
紀元 紀元說明區段
ERA_D_FMT 紀元日期格式字串
ERA_D_T_FMT 紀元日期和時間格式字串
ERA_T_FMT 紀元時間格式字串
ALT_DIGITS 數字的替代符號
RADIXCHAR 基數字元
THOUSEP 千位分隔字元
YESEXPR 肯定回應表示式
NOEXPR 負面回應表示式
YESSTR Yes/no 查詢的肯定回應
NOSTR 「是/否」查詢的負面回應
CRNCYSTR 貨幣符號,如果符號應該出現在值之前,則在前面加上 '-'; 如果符號應該出現在值之後,則在 '+'; 或者 '.' 如果符號應該取代基數字元

傳回的值

nl_langinfo() 函數會傳回空值結束字串的指標,其中包含作用中語言或文化區域的相關資訊。 作用中語言或文化區域由最近的 setlocale() 呼叫決定。 後續對函數的呼叫會修改回覆值所指向的陣列。 使用者程式不應變更陣列。

如果項目無效,函數會傳回空字串的指標。

範例

此範例使用 nl_langinfo() 函數擷取字碼集的名稱。
#include <langinfo.h>
#include <locale.h>
#include <nl_types.h>
#include <stdio.h>
 
int main(void)
{
   printf("Current codeset is %s\n", nl_langinfo(CODESET));
   return 0;
}
 
/************************************************************************
 
  The output should be similar to:
 
  Current codeset is 37
 
************************************************************************/

相關資訊