stdio .h 頭文件定義了三個變量類型、一些宏和各類函數來執行輸入和輸出。html
下面是頭文件 stdio.h 中定義的變量類型:數組
序號 | 變量 & 描述 |
---|---|
1 | size_t 這是無符號整數類型,它是 sizeof 關鍵字的結果。 |
2 | FILE 這是一個適合存儲文件流信息的對象類型。 |
3 | fpos_t 這是一個適合存儲文件中任何位置的對象類型。 |
下面是頭文件 stdio.h 中定義的宏:函數
序號 | 宏 & 描述 |
---|---|
1 | NULL 這個宏是一個空指針常量的值。 |
2 | **_IOFBF、_IOLBF** 和 **_IONBF** 這些宏擴展了帶有特定值的整型常量表達式,並適用於 setvbuf 函數的第三個參數。 |
3 | BUFSIZ 這個宏是一個整數,該整數表明了 setbuf 函數使用的緩衝區大小。 |
4 | EOF 這個宏是一個表示已經到達文件結束的負整數。 |
5 | FOPEN_MAX 這個宏是一個整數,該整數表明了系統能夠同時打開的文件數量。 |
6 | FILENAME_MAX 這個宏是一個整數,該整數表明了字符數組能夠存儲的文件名的最大長度。若是實現沒有任何限制,則該值應爲推薦的最大值。 |
7 | L_tmpnam 這個宏是一個整數,該整數表明了字符數組能夠存儲的由 tmpnam 函數建立的臨時文件名的最大長度。 |
8 | SEEK_CUR、SEEK_END 和 SEEK_SET 這些宏是在 fseek 函數中使用,用於在一個文件中定位不一樣的位置。 |
9 | TMP_MAX 這個宏是 tmpnam 函數可生成的獨特文件名的最大數量。 |
10 | stderr、stdin 和 stdout 這些宏是指向 FILE 類型的指針,分別對應於標準錯誤、標準輸入和標準輸出流。 |
下面是頭文件 stdio.h 中定義的函數:工具
爲了更好地理解函數,請按照下面的序列學習這些函數,學習
由於第一個函數中建立的文件會在後續的函數中使用到。測試
stdlib .h 頭文件定義了四個變量類型、一些宏和各類通用工具函數。編碼
下面是頭文件 stdlib.h 中定義的變量類型:指針
序號 | 變量 & 描述 |
---|---|
1 | size_t 這是無符號整數類型,它是 sizeof 關鍵字的結果。 |
2 | wchar_t 這是一個寬字符常量大小的整數類型。 |
3 | div_t 這是 div 函數返回的結構。 |
4 | ldiv_t 這是 ldiv 函數返回的結構。 |
下面是頭文件 stdlib.h 中定義的宏:code
序號 | 宏 & 描述 |
---|---|
1 | NULL 這個宏是一個空指針常量的值。 |
2 | EXIT_FAILURE 這是 exit 函數失敗時要返回的值。 |
3 | EXIT_SUCCESS 這是 exit 函數成功時要返回的值。 |
4 | RAND_MAX 這個宏是 rand 函數返回的最大值。 |
5 | MB_CUR_MAX 這個宏表示在多字節字符集中的最大字符數,不能大於 MB_LEN_MAX。 |
下面是頭文件 stdlib.h 中定義的函數:orm
string .h 頭文件定義了一個變量類型、一個宏和各類操做字符數組的函數。
下面是頭文件 string.h 中定義的變量類型:
序號 | 變量 & 描述 |
---|---|
1 | size_t 這是無符號整數類型,它是 sizeof 關鍵字的結果。 |
下面是頭文件 string.h 中定義的宏:
序號 | 宏 & 描述 |
---|---|
1 | NULL 這個宏是一個空指針常量的值。 |
下面是頭文件 string.h 中定義的函數:
序號 | 函數 & 描述 |
---|---|
1 | void memchr(const void str, int c, size_t n) 在參數 str 所指向的字符串的前 n 個字節中搜索第一次出現字符 c(一個無符號字符)的位置。 |
2 | int memcmp(const void str1, const void str2, size_t n) 把 str1 和 str2 的前 n 個字節進行比較。 |
3 | void memcpy(void dest, const void *src, size_t n) 從 src 複製 n 個字符到 dest。 |
4 | void memmove(void dest, const void *src, size_t n) 另外一個用於從 src 複製 n 個字符到 dest 的函數。 |
5 | void memset(void str, int c, size_t n) 複製字符 c(一個無符號字符)到參數 str 所指向的字符串的前 n 個字符。 |
6 | char strcat(char dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的結尾。 |
7 | char strncat(char dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的結尾,直到 n 字符長度爲止。 |
8 | char strchr(const char str, int c) 在參數 str 所指向的字符串中搜索第一次出現字符 c(一個無符號字符)的位置。 |
9 | int strcmp(const char str1, const char str2) 把 str1 所指向的字符串和 str2 所指向的字符串進行比較。 |
10 | int strncmp(const char str1, const char str2, size_t n) 把 str1 和 str2 進行比較,最多比較前 n 個字節。 |
11 | int strcoll(const char str1, const char str2) 把 str1 和 str2 進行比較,結果取決於 LC_COLLATE 的位置設置。 |
12 | char strcpy(char dest, const char *src) 把 src 所指向的字符串複製到 dest。 |
13 | char strncpy(char dest, const char *src, size_t n) 把 src 所指向的字符串複製到 dest,最多複製 n 個字符。 |
14 | size_t strcspn(const char str1, const char str2) 檢索字符串 str1 開頭連續有幾個字符都不含字符串 str2 中的字符。 |
15 | char *strerror(int errnum) 從內部數組中搜索錯誤號 errnum,並返回一個指向錯誤消息字符串的指針。 |
16 | size_t strlen(const char *str) 計算字符串 str 的長度,直到空結束字符,但不包括空結束字符。 |
17 | char strpbrk(const char str1, const char *str2) 檢索字符串 str1 中第一個匹配字符串 str2 中字符的字符,不包含空結束字符。也就是說,依次檢驗字符串 str1 中的字符,當被檢驗字符在字符串 str2 中也包含時,則中止檢驗,並返回該字符位置。 |
18 | char strrchr(const char str, int c) 在參數 str 所指向的字符串中搜索最後一次出現字符 c(一個無符號字符)的位置。 |
19 | size_t strspn(const char str1, const char str2) 檢索字符串 str1 中第一個不在字符串 str2 中出現的字符下標。 |
20 | char strstr(const char haystack, const char *needle) 在字符串 haystack 中查找第一次出現字符串 needle(不包含空結束字符)的位置。 |
21 | char strtok(char str, const char *delim) 分解字符串 str 爲一組字符串,delim 爲分隔符。 |
22 | size_t strxfrm(char dest, const char src, size_t n) 根據程序當前的區域選項中的 LC_COLLATE 來轉換字符串 src 的前 n 個字符,並把它們放置在字符串 dest 中。 |
time.h 頭文件定義了四個變量類型、兩個宏和各類操做日期和時間的函數。
下面是頭文件 time.h 中定義的變量類型:
序號 | 變量 & 描述 |
---|---|
1 | size_t 是無符號整數類型,它是 sizeof 關鍵字的結果。 |
2 | clock_t 這是一個適合存儲處理器時間的類型。 |
3 | time_t is 這是一個適合存儲日曆時間類型。 |
4 | struct tm 這是一個用來保存時間和日期的結構。 |
tm 結構的定義以下:
struct tm { int tm_sec; /* 秒,範圍從 0 到 59 */ int tm_min; /* 分,範圍從 0 到 59 */ int tm_hour; /* 小時,範圍從 0 到 23 */ int tm_mday; /* 一月中的第幾天,範圍從 1 到 31 */ int tm_mon; /* 月,範圍從 0 到 11 */ int tm_year; /* 自 1900 年起的年數 */ int tm_wday; /* 一週中的第幾天,範圍從 0 到 6 */ int tm_yday; /* 一年中的第幾天,範圍從 0 到 365 */ int tm_isdst; /* 夏令時 */ };
下面是頭文件 time.h 中定義的宏:
序號 | 宏 & 描述 |
---|---|
1 | NULL 這個宏是一個空指針常量的值。 |
2 | CLOCKS_PER_SEC 這個宏表示每秒的處理器時鐘個數。 |
下面是頭文件 time.h 中定義的函數:
序號 | 函數 & 描述 |
---|---|
1 | char asctime(const struct tm timeptr) 返回一個指向字符串的指針,它表明告終構 timeptr 的日期和時間。 |
2 | clock_t clock(void) 返回程序執行起(通常爲程序的開頭),處理器時鐘所使用的時間。 |
3 | char ctime(const time_t timer) 返回一個表示當地時間的字符串,當地時間是基於參數 timer。 |
4 | double difftime(time_t time1, time_t time2) 返回 time1 和 time2 之間相差的秒數 (time1-time2)。 |
5 | struct tm gmtime(const time_t timer) timer 的值被分解爲 tm 結構,並用協調世界時(UTC)也被稱爲格林尼治標準時間(GMT)表示。 |
6 | struct tm localtime(const time_t timer) timer 的值被分解爲 tm 結構,並用本地時區表示。 |
7 | time_t mktime(struct tm *timeptr) 把 timeptr 所指向的結構轉換爲一個依據本地時區的 time_t 值。 |
8 | size_t strftime(char str, size_t maxsize, const char format, const struct tm *timeptr) 根據 format 中定義的格式化規則,格式化結構 timeptr 表示的時間,並把它存儲在 str 中。 |
9 | time_t time(time_t *timer) 計算當前日曆時間,並把它編碼成 time_t 格式。 |