國家、文化和語言規(guī)則集稱為區(qū)域設(shè)置,locale.h頭文件中定義了區(qū)域設(shè)置相關(guān)的函數(shù)。setlocale函數(shù)用于設(shè)置或返回當(dāng)前的區(qū)域特性,localeconv用于返回當(dāng)前區(qū)域中的數(shù)字和貨幣信息(保存在struct lconv結(jié)構(gòu)實(shí)例中)。setlocale的第一個(gè)實(shí)參指定要改變的區(qū)域行為類別,預(yù)定義的setlocale類別有:
LC_ALL:所有行為。
LC_COLLATE:strcoll和strxfrm函數(shù)的行為。
LC_CTYPE:ctype.h中的字符串處理函數(shù)行為。
LC_MONETARY:localeconv返回的幣值信息。
LC_NUMERIC:localeconv返回的小數(shù)點(diǎn)和非幣值信息。
LC_TIME:strftime函數(shù)的行為。
locale.h中內(nèi)容如下:
setlocale函數(shù)的實(shí)現(xiàn)代碼比較復(fù)雜,這里就不解剖了。localeconv函數(shù)的代碼比較簡單,它先創(chuàng)建一個(gè)struct lconv實(shí)例result用來保存返回的信息,然后用編譯器的內(nèi)部宏來獲取數(shù)字和貨幣的各個(gè)成員值,存入result中,然后返回。如下:
新聞熱點(diǎn)
疑難解答
圖片精選