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