<locale.h>
簡介
locale.h 頭檔案定義了特定地域的設定,比如日期格式和貨幣符號,接下來我們將介紹一些宏,以及一個重要的結構 struct lconv 和兩個重要的函式,
庫宏
下面列出了頭檔案 locale.h 中定義的宏,這些宏將在下列的兩個函式中使用:
| 序號 | 宏 & 描述 |
|---|---|
| 1 | LC_ALL 設定下面的所有選項, |
| 2 | LC_COLLATE 影響 strcoll 和 strxfrm 函式, |
| 3 | LC_CTYPE 影響所有字符函式, |
| 4 | LC_MONETARY 影響 localeconv 函式提供的貨幣資訊, |
| 5 | LC_NUMERIC 影響 localeconv 函式提供的小數點格式化和資訊, |
| 6 | LC_TIME 影響 strftime 函式, |
庫函式
下面列出了頭檔案 locale.h 中定義的函式:
| 序號 | 函式 & 描述 |
|---|---|
| 1 | char *setlocale(int category, const char *locale) 設定或讀取地域化資訊, |
| 2 | struct lconv *localeconv(void) 設定或讀取地域化資訊, |
庫結構
typedef struct {
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;
} lconv
以下是各欄位的描述:
| 序號 | 欄位 & 描述 |
|---|---|
| 1 | decimal_point 用于非貨幣值的小數點字符, |
| 2 | thousands_sep 用于非貨幣值的千位分隔符, |
| 3 | grouping 一個表示非貨幣量中每組數字大小的字串,每個字符代表一個整數值,每個整數指定當前組的位數,值為 0 意味著前一個值將應用于剩余的分組, |
| 4 | int_curr_symbol 國際貨幣符號使用的字串,前三個字符是由 ISO 4217:1987 指定的,第四個字符用于分隔貨幣符號和貨幣量, |
| 5 | currency_symbol 用于貨幣的本地符號, |
| 6 | mon_decimal_point 用于貨幣值的小數點字符, |
| 7 | mon_thousands_sep 用于貨幣值的千位分隔符, |
| 8 | mon_grouping 一個表示貨幣值中每組數字大小的字串,每個字符代表一個整數值,每個整數指定當前組的位數,值為 0 意味著前一個值將應用于剩余的分組, |
| 9 | positive_sign 用于正貨幣值的字符, |
| 10 | negative_sign 用于負貨幣值的字符, |
| 11 | int_frac_digits 國際貨幣值中小數點后要顯示的位數, |
| 12 | frac_digits 貨幣值中小數點后要顯示的位數, |
| 13 | p_cs_precedes 如果等于 1,則 currency_symbol 出現在正貨幣值之前,如果等于 0,則 currency_symbol 出現在正貨幣值之后, |
| 14 | p_sep_by_space 如果等于 1,則 currency_symbol 和正貨幣值之間使用空格分隔,如果等于 0,則 currency_symbol 和正貨幣值之間不使用空格分隔, |
| 15 | n_cs_precedes 如果等于 1,則 currency_symbol 出現在負貨幣值之前,如果等于 0,則 currency_symbol 出現在負貨幣值之后, |
| 16 | n_sep_by_space 如果等于 1,則 currency_symbol 和負貨幣值之間使用空格分隔,如果等于 0,則 currency_symbol 和負貨幣值之間不使用空格分隔, |
| 17 | p_sign_posn 表示正貨幣值中正號的位置, |
| 18 | n_sign_posn 表示負貨幣值中負號的位置, |
下面的值用于 p_sign_posn 和 n_sign_posn:
| 值 | 描述 |
|---|---|
| 0 | 封裝值和 currency_symbol 的括號, |
| 1 | 放置在值和 currency_symbol 之前的符號, |
| 2 | 放置在值和 currency_symbol 之后的符號, |
| 3 | 緊挨著放置在值和 currency_symbol 之前的符號, |
| 4 | 緊挨著放置在值和 currency_symbol 之后的符號, |
<math.h>
簡介
math.h 頭檔案定義了各種數學函式和一個宏,在這個庫中所有可用的功能都帶有一個 double 型別的引數,且都回傳 double 型別的結果,
庫宏
下面是這個庫中定義的唯一的一個宏:
| 序號 | 宏 & 描述 |
|---|---|
| 1 | HUGE_VAL 當函式的結果不可以表示為浮點數時,如果是因為結果的幅度太大以致于無法表示,則函式會設定 errno 為 ERANGE 來表示范圍錯誤,并回傳一個由宏 HUGE_VAL 或者它的否定(- HUGE_VAL)命名的一個特定的很大的值,如果結果的幅度太小,則會回傳零值,在這種情況下,error 可能會被設定為 ERANGE,也有可能不會被設定為 ERANGE, |
庫函式
下面列出了頭檔案 math.h 中定義的函式:
| 序號 | 函式 & 描述 |
|---|---|
| 1 | double acos(double x) 回傳以弧度表示的 x 的反余弦, |
| 2 | double asin(double x) 回傳以弧度表示的 x 的反正弦, |
| 3 | double atan(double x) 回傳以弧度表示的 x 的反正切, |
| 4 | double atan2(double y, double x) 回傳以弧度表示的 y/x 的反正切,y 和 x 的值的符號決定了正確的象限, |
| 5 | double cos(double x) 回傳弧度角 x 的余弦, |
| 6 | double cosh(double x) 回傳 x 的雙曲余弦, |
| 7 | double sin(double x) 回傳弧度角 x 的正弦, |
| 8 | double sinh(double x) 回傳 x 的雙曲正弦, |
| 9 | double tanh(double x) 回傳 x 的雙曲正切, |
| 10 | double exp(double x) 回傳 e 的 x 次冪的值, |
| 11 | double frexp(double x, int *exponent) 把浮點數 x 分解成尾數和指數,回傳值是尾數,并將指數存入 exponent 中,所得的值是 x = mantissa * 2 ^ exponent, |
| 12 | double ldexp(double x, int exponent) 回傳 x 乘以 2 的 exponent 次冪, |
| 13 | double log(double x) 回傳 x 的自然對數(基數為 e 的對數), |
| 14 | double log10(double x) 回傳 x 的常用對數(基數為 10 的對數), |
| 15 | double modf(double x, double *integer) 回傳值為小數部分(小數點后的部分),并設定 integer 為整數部分, |
| 16 | double pow(double x, double y) 回傳 x 的 y 次冪, |
| 17 | double sqrt(double x) 回傳 x 的平方根, |
| 18 | double ceil(double x) 回傳大于或等于 x 的最小的整數值, |
| 19 | double fabs(double x) 回傳 x 的絕對值, |
| 20 | double floor(double x) 回傳小于或等于 x 的最大的整數值, |
| 21 | double fmod(double x, double y) 回傳 x 除以 y 的余數, |
<setjmp.h>
簡介
setjmp.h 頭檔案定義了宏 setjmp()、函式 longjmp() 和變數型別 jmp_buf,該變數型別會繞過正常的函式呼叫和回傳規則,
庫變數
下面列出了頭檔案 setjmp.h 中定義的變數:
| 序號 | 變數 & 描述 |
|---|---|
| 1 | jmp_buf 這是一個用于存盤宏 setjmp() 和函式 longjmp() 相關資訊的陣列型別, |
庫宏
下面是這個庫中定義的唯一的一個宏:
| 序號 | 宏 & 描述 |
|---|---|
| 1 | int setjmp(jmp_buf environment) 這個宏把當前環境保存在變數 environment 中,以便函式 longjmp() 后續使用,如果這個宏直接從宏呼叫中回傳,則它會回傳零,但是如果它從 longjmp() 函式呼叫中回傳,則它會回傳一個非零值, |
庫函式
下面是頭檔案 setjmp.h 中定義的唯一的一個函式:
| 序號 | 函式 & 描述 |
|---|---|
| 1 | void longjmp(jmp_buf environment, int value) 該函式恢復最近一次呼叫 setjmp() 宏時保存的環境,jmp_buf 引數的設定是由之前呼叫 setjmp() 生成的, |
<signal.h>
簡介
signal.h 頭檔案定義了一個變數型別 sig_atomic_t、兩個函式呼叫和一些宏來處理程式執行期間報告的不同信號,
庫變數
下面是頭檔案 signal.h 中定義的變數型別:
| 序號 | 變數 & 描述 |
|---|---|
| 1 | sig_atomic_t 這是 int 型別,在信號處理程式中作為變數使用,它是一個物件的整數型別,該物件可以作為一個原子物體訪問,即使存在異步信號時,該物件可以作為一個原子物體訪問, |
庫宏
下面是頭檔案 signal.h 中定義的宏,這些宏將在下列兩個函式中使用,SIG_ 宏與 signal 函式一起使用來定義信號的功能,
| 序號 | 宏 & 描述 |
|---|---|
| 1 | SIG_DFL 默認的信號處理程式, |
| 2 | SIG_ERR 表示一個信號錯誤, |
| 3 | SIG_IGN 忽視信號, |
SIG 宏用于表示以下各種條件的信號碼:
| 序號 | 宏 & 描述 |
|---|---|
| 1 | SIGABRT 程式例外終止, |
| 2 | SIGFPE 算術運算出錯,如除數為 0 或溢位, |
| 3 | SIGILL 非法函式映象,如非法指令, |
| 4 | SIGINT 中斷信號,如 ctrl-C, |
| 5 | SIGSEGV 非法訪問存盤器,如訪問不存在的記憶體單元, |
| 6 | SIGTERM 發送給本程式的終止請求信號, |
庫函式
下面是頭檔案 signal.h 中定義的函式:
| 序號 | 函式 & 描述 |
|---|---|
| 1 | void (signal(int sig, void (func)(int)))(int) 該函式設定一個函式來處理信號,即信號處理程式, |
| 2 | int raise(int sig) 該函式會促使生成信號 sig,sig 引數與 SIG 宏兼容, |
<stdarg.h>
簡介
stdarg.h 頭檔案定義了一個變數型別 va_list 和三個宏,這三個宏可用于在引數個數未知(即引數個數可變)時獲取函式中的引數,
可變引數的函式通在引數串列的末尾是使用省略號(,...)定義的,
庫變數
下面是頭檔案 stdarg.h 中定義的變數型別:
| 序號 | 變數 & 描述 |
|---|---|
| 1 | va_list 這是一個適用于 va_start()、va_arg() 和 va_end() 這三個宏存盤資訊的型別, |
庫宏
下面是頭檔案 stdarg.h 中定義的宏:
| 序號 | 宏 & 描述 |
|---|---|
| 1 | void va_start(va_list ap, last_arg) 這個宏初始化 ap 變數,它與 va_arg 和 va_end 宏是一起使用的,last_arg 是最后一個傳遞給函式的已知的固定引數,即省略號之前的引數, |
| 2 | type va_arg(va_list ap, type) 這個宏檢索函式引數串列中型別為 type 的下一個引數, |
| 3 | void va_end(va_list ap) 這個宏允許使用了 va_start 宏的帶有可變引數的函式回傳,如果在從函式回傳之前沒有呼叫 va_end,則結果為未定義, |
<stddef.h>
簡介
stddef .h 頭檔案定義了各種變數型別和宏,這些定義中的大部分也出現在其它頭檔案中,
庫變數
下面是頭檔案 stddef.h 中定義的變數型別:
| 序號 | 變數 & 描述 |
|---|---|
| 1 | ptrdiff_t 這是有符號整數型別,它是兩個指標相減的結果, |
| 2 | size_t 這是無符號整數型別,它是 sizeof 關鍵字的結果, |
| 3 | wchar_t 這是一個寬字符常量大小的整數型別, |
庫宏
下面是頭檔案 stddef.h 中定義的宏:
| 序號 | 宏 & 描述 |
|---|---|
| 1 | NULL 這個宏是一個空指標常量的值, |
| 2 | offsetof(type, member-designator) 這會生成一個型別為 size_t 的整型常量,它是一個結構成員相對于結構開頭的位元組偏移量,成員是由 member-designator 給定的,結構的名稱是在 type 中給定的, |
參考自:https://www.runoob.com/cprogramming/c-tutorial.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/54986.html
標籤:C
上一篇:C語言歷史
