共用方式為


地區設定

「地區設定」指的是可用來自訂程式的國家/地區和語言設定。 有些地區設定相關分類包括日期和貨幣值的顯示格式。 如需詳細資訊,請參閱 地區設定類別

使用 函 setlocale 式在不使用 _l 後綴的函式時,使用 函式來變更或查詢部分或所有目前的程式或線程地區設定資訊。 具有 _l 尾碼的函式只會使用傳入的地區設定參數,作為其在執行該特定函式期間的地區設定資訊。 若要建立地區設定以搭配後綴的 _l 函式使用,請使用 _create_locale。 若要釋放此地區設定,請使用 _free_locale。 若要取得目前的地區設定,請使用 _get_current_locale

用來 _configthreadlocale 控制每個線程都有自己的地區設定,或程式中的所有線程共用相同的地區設定。 如需詳細資訊,請參閱 地區設定和代碼頁

下表中有更安全版本的函式可供使用,以 _s ("secure") 尾碼表示。 如需詳細資訊,請參閱 CRT中的安全性功能。

地區設定相依例程

常式 使用 setlocale 分類設定相依性
atof、 、 _atof_l_wtof_wtof_l 將字元轉換為浮點值 LC_NUMERIC
atoi、 、 _atoi_l_wtoi_wtoi_l 將字元轉換為整數值 LC_NUMERIC
_atoi64、 、 _atoi64_l_wtoi64_wtoi64_l 將字元轉換為 64 位元整數值 LC_NUMERIC
atol、 、 _atol_l_wtol_wtol_l 將字元轉換為 long 值 LC_NUMERIC
_atodbl、、_atodbl_l_atoldbl_atoldbl_l、、_atoflt_atoflt_l 將字元轉換為 double-long 值 LC_NUMERIC
is, isw 常式 測試特定條件的指定整數。 LC_CTYPE
isleadbyte, _isleadbyte_l 前導位元組的測試 LC_CTYPE
localeconv 讀取用於格式化數值數量的適當值 LC_MONETARY, LC_NUMERIC
MB_CUR_MAX 目前地區設定中任何多位元組位元的最大長度 (巨集 定義於 STDLIB.H中) LC_CTYPE
_mbccpy、、_mbccpy_l_mbccpy_s_mbccpy_s_l 複製一個多位元組字元 LC_CTYPE
_mbclen、 、 mblen_mblen_l 驗證並傳回多位元組字元的位元組數目 LC_CTYPE
strlen、、wcslen_mbslen_mbslen_l、、_mbstrlen_mbstrlen_l 針對多位元組字元字串︰驗證字串中的每個字元;傳回字串長度 LC_CTYPE
mbstowcs、、_mbstowcs_lmbstowcs_s_mbstowcs_s_l 將多位元組字元序列轉換為對應的寬字元序列 LC_CTYPE
mbtowc, _mbtowc_l 將多位元組字元轉換為對應的寬字元 LC_CTYPE
printf 函式 寫入格式化輸出 LC_NUMERIC (判斷基底字元輸出)
scanf 函式 讀取格式化輸入 LC_NUMERIC (判斷基底字元辨識)
setlocale, _wsetlocale 選取程式的地區設定 不適用
strcoll、、wcscoll_mbscoll_strcoll_l、、_wcscoll_l_mbscoll_l 比較兩個字串的字元 LC_COLLATE
_stricmp、、_wcsicmp_mbsicmp_stricmp_l、、_wcsicmp_l_mbsicmp_l 比較兩個字串,而不考慮大小寫 LC_CTYPE
_stricoll、、_wcsicoll_mbsicoll_stricoll_l、、_wcsicoll_l_mbsicoll_l 比較兩個字串的字元 (不區分大小寫) LC_COLLATE
_strncoll、、_wcsncoll_mbsncoll_strncoll_l、、_wcsncoll_l_mbsncoll_l 比較兩個字串的第一個 n 字元 LC_COLLATE
_strnicmp、、_wcsnicmp_mbsnicmp_strnicmp_l、、_wcsnicmp_l_mbsnicmp_l 比較兩個字串的字元,而不考慮大小寫。 LC_CTYPE
_strnicoll、、_wcsnicoll_mbsnicoll_strnicoll_l、、_wcsnicoll_l_mbsnicoll_l 比較兩個字串的第一個 n 字元 (不區分大小寫) LC_COLLATE
strftime、 、 wcsftime_strftime_l_wcsftime_l 根據提供的 format 引數,格式化日期和時間值 LC_TIME
_strlwr_wcslwr_mbslwr_strlwr_l_wcslwr_l_mbslwr_l_strlwr_s、、、_mbslwr_s_strlwr_s_l_mbslwr_s_l、、 _wcslwr_s_wcslwr_s_l 就地將指定字串中的每個大寫字母轉換為小寫 LC_CTYPE
strtod、 、 _strtod_lwcstod_wcstod_l 將字元字串轉換為 double LC_NUMERIC (判斷基底字元辨識)
strtol、 、 wcstol_strtol_l_wcstol_l 將字元字串轉換為 long LC_NUMERIC (判斷基底字元辨識)
strtoul、 、 _strtoul_lwcstoul_wcstoul_l 將字元字串轉換為不帶正負號的 long 值 LC_NUMERIC (判斷基底字元辨識)
_strupr_strupr_l_mbsupr_mbsupr_l_wcsupr_l_wcsupr_strupr_s、、、_mbsupr_s_strupr_s_l_mbsupr_s_l、、 _wcsupr_s_wcsupr_s_l 就地將字串中的每個小寫字母轉換為大寫 LC_CTYPE
strxfrm、 、 wcsxfrm_strxfrm_l_wcsxfrm_l 根據地區設定,將字串轉換為定序的形式 LC_COLLATE
tolower_tolowertowlower_tolower_l_towlower_l_mbctolower、、_mbctolower_l、、、 _mbctoupper_mbctoupper_l 將指定字元轉換為對應的小寫字元 LC_CTYPE
toupper_touppertowupper_toupper_l_towupper_l_mbctolower、、_mbctolower_l、、、 _mbctoupper_mbctoupper_l 將指定字元轉換為對應的大寫字母 LC_CTYPE
wcstombs、、_wcstombs_lwcstombs_s_wcstombs_s_l 將寬字元序列轉換為對應的多位元組字元序列 LC_CTYPE
wctomb、、_wctomb_lwctomb_s_wctomb_s_l 將寬字元轉換為對應的多位元組字元 LC_CTYPE

注意

對於多位元組例程,多位元組代碼頁必須相當於使用 setlocale設定的地區設定。 _setmbcp,具有的 _MB_CP_LOCALE 自變數可讓多位元組代碼頁與 setlocale 代碼頁相同。

另請參閱

國際化
依類別排序的通用 C 執行階段常式