標準庫函式 3

2022-05-26 04:48:09 字數 3212 閱讀 1190

errno.h標頭檔案定義了一系列表示不同錯誤**的巨集,這些巨集應擴充套件為型別為int的整數常量表示式。巨集說明

extern int errno

通過系統呼叫設定的巨集,在錯誤事件中的某些庫函式表明了什麼發生了錯誤。

edom domain error

表示乙個域錯誤,它在輸入引數超出數學函式定義的域時發生,errno 被設定為 edom。

erange range error

表示乙個範圍錯誤,它在輸入引數超出數學函式定義的範圍時發生,errno 被設定為 erange。

下面的值是特定實現的,且是通過 #define 指令來定義的,這些值都不得低於下邊所給出的值。巨集值

說明char_bit

8定義乙個位元組的位元數。

schar_min

-128

定義乙個有符號字元的最小值。

schar_max

127定義乙個有符號字元的最大值。

uchar_max

255定義乙個無符號字元的最大值。

char_min

0定義型別 char 的最小值,如果 char 表示負值,則它的值等於 schar_min,否則等於 0。

char_max

127定義型別 char 的最大值,如果 char 表示負值,則它的值等於 schar_max,否則等於 uchar_max。

mb_len_max

1定義多位元組字元中的最大位元組數。

shrt_min

-32768

定義乙個短整型的最小值。

shrt_max

+32767

定義乙個短整型的最大值。

ushrt_max

65535

定義乙個無符號短整型的最大值。

int_min

-32768

定義乙個整型的最小值。

int_max

+32767

定義乙個整型的最大值。

uint_max

65535

定義乙個無符號整型的最大值。

long_min

-2147483648

定義乙個長整型的最小值。

long_max

+2147483647

定義乙個長整型的最大值。

ulong_max

4294967295

定義乙個無符號長整型的最大值。

下面的值是特定實現的,且是通過#define指令來定義的,這些值都不得低於下邊所給出的值。請注意,所有的例項flt是指型別floatdbl是指型別doubleldbl是指型別long double。巨集說明

flt_rounds

定義浮點加法的捨入模式,它可以是下列任何乙個值:

-1 - 無法確定

0 - 趨向於零

1 - 去最近的值

2 - 趨向於正無窮

3 - 趨向於負無窮

flt_radix 2

這個巨集定義了指數表示的基數。基數 2 表示二進位制,基數 10 表示十進位制,基數 16 表示十六進製制。

flt_mant_dig

dbl_mant_dig

ldbl_mant_dig

這些巨集定義了 flt_radix 基數中的位數。

flt_dig 6

dbl_dig 10

ldbl_dig 10

這些巨集定義了捨入後不會改變表示的十進位制數字的最大值(基數 10)。

flt_min_exp

dbl_min_exp

ldbl_min_exp

這些巨集定義了基數為 flt_radix 時的指數的最小負整數值。

flt_min_10_exp -37

dbl_min_10_exp -37

ldbl_min_10_exp -37

這些巨集定義了基數為 10 時的指數的最小負整數值。

flt_max_exp

dbl_max_exp

ldbl_max_exp

這些巨集定義了基數為 flt_radix 時的指數的最大整數值。

flt_max_10_exp +37

dbl_max_10_exp +37

ldbl_max_10_exp +37

這些巨集定義了基數為 10 時的指數的最大整數值。

flt_max 1e+37

dbl_max 1e+37

ldbl_max 1e+37

這些巨集定義最大的有限浮點值。

flt_epsilon 1e-5

dbl_epsilon 1e-9

ldbl_epsilon 1e-9

這些巨集定義了可表示的最小有效數字。

flt_min 1e-37

dbl_min 1e-37

ldbl_min 1e-37

這些巨集定義了最小的浮點值。

變數說明

va_list

這是乙個適用於 va_start()、va_arg() 和 va_end() 這三個巨集儲存資訊的型別。巨集說明

void va_start(va_list ap, last_arg)

這個巨集初始化 ap 變數,它與 va_arg 和 va_end 巨集是一起使用的。last_arg 是最後乙個傳遞給函式的已知的固定引數,即省略號之前的引數。

type va_arg(va_list ap, type)

這個巨集檢索函式引數列表中型別為 type 的下乙個引數。

void va_end(va_list ap)

這個巨集允許使用了 va_start 巨集的帶有可變引數的函式返回。如果在從函式返回之前沒有呼叫 va_end,則結果為未定義。

變數說明

ptrdiff_t

有符號整數型別,它是兩個指標相減的結果。

size_t

無符號整數型別,它是 sizeof 關鍵字的結果。

wchar_t

是乙個寬字元常量大小的整數型別。巨集說明

null

是乙個空指標常量的值。

offsetof(type, member-designator)

生成乙個型別為 size_t 的整型常量,它是乙個結構成員相對於結構開頭的位元組偏移量。成員是由 member-designator 給定的,結構的名稱是在 type 中給定的。

C 標準庫函式

有許多不同的案件中,陣列排序的可能是有用的。演算法 如搜尋看看一些存在於乙個陣列 通常可以變得更簡單和 或更有效時,輸入的資料進行排序。此外,排序是非常有用的可讀性,如當列印列表按字母順序排列的名字。排序通常是通過反覆比較的陣列元素對進行的,和交換他們如果他們滿足一些標準。為了在這些元素進行比較根據...

C 標準庫函式

c 程式通常可以呼叫標準c 庫中的大量函式。這些函式完成一些基本的服務,如輸入和輸出等,同時也為一些經常使用的操作提供了高效的 實現 這些函式中含有大量的函式和類定義,以幫助程式設計師更好地使用標準c 庫。標準c 庫包含以下內容 和 標準c 庫的詳細訊息均在其對應的標頭檔案進行了說明。主要標準c 庫...

檔案 標準庫函式

一.i o緩衝 c標準庫提供了操作檔案的標準i o函式庫,與系統呼叫相比,主要差別是實現了乙個跨平台的使用者態緩衝的解決方案。1.i o緩衝的解釋 以printf 為例 printf函式向標準輸出寫入多個字元,所寫入的字元被放在乙個使用者態的緩衝區中,直到碰到乙個換行符,系統才呼叫write函式將緩...