C/C++常用頭檔案及函數彙總
-
- C/C++頭檔案一覽
-
-
- C
- 傳統C++
- 标準C++
- C99增加的部分
-
- C 常用庫檔案及庫函數一覽
-
-
- 頭檔案 ctype.h
- 頭檔案 local.h
- 頭檔案 math.h
- 頭檔案 setjmp.h io.h
- 頭檔案 signal.h
- 頭檔案 stdarg.h
- 頭檔案 stdio.h
- 頭檔案 stdlib.h
- 頭檔案 string.h
- 頭檔案 time.h
- 序号 庫類别 頭檔案
-
C/C++頭檔案一覽
C
#include <assert.h> //設定插入點
#include <ctype.h> //字元處理
#include <errno.h> //定義錯誤碼
#include <float.h> //浮點數處理
#include <iso646.h> //對應各種運算符的宏
#include <limits.h> //定義各種資料類型最值的常量
#include <locale.h> //定義本地化C函數
#include <math.h> //定義數學函數
#include <setjmp.h> //異常處理支援
#include <signal.h> //信号機制支援
#include <stdarg.h> //不定參數清單支援
#include <stddef.h> //常用常量
#include <stdio.h> //定義輸入/輸出函數
#include <stdlib.h> //定義雜項函數及記憶體配置設定函數
#include <string.h> //字元串處理
#include <time.h> //定義關于時間的函數
#include <wchar.h> //寬字元處理及輸入/輸出
#include <wctype.h> //寬字元分類
傳統C++
#include <fstream.h> //改用
#include <iomanip.h> //改用
#include <iostream.h> //改用
#include <strstrea.h> //該類不再支援,改用中的stringstream
标準C++
#include <algorithm> //STL 通用算法
#include <bitset> //STL 位集容器
#include <cctype> //字元處理
#include <cerrno> //定義錯誤碼
#include <cfloat> //浮點數處理
#include <ciso646> //對應各種運算符的宏
#include <climits> //定義各種資料類型最值的常量
#include <clocale> //定義本地化函數
#include <cmath> //定義數學函數
#include <complex> //複數類
#include <csignal> //信号機制支援
#include <csetjmp> //異常處理支援
#include <cstdarg> //不定參數清單支援
#include <cstddef> //常用常量
#include <cstdio> //定義輸入/輸出函數
#include <cstdlib> //定義雜項函數及記憶體配置設定函數
#include <cstring> //字元串處理
#include <ctime> //定義關于時間的函數
#include <cwchar> //寬字元處理及輸入/輸出
#include <cwctype> //寬字元分類
#include <deque> //STL 雙端隊列容器
#include <exception> //異常處理類
#include <fstream> //檔案輸入/輸出
#include <functional> //STL 定義運算函數(代替運算符)
#include <limits> //定義各種資料類型最值常量
#include <list> //STL 線性清單容器
#include <locale> //本地化特定資訊
#include <map> //STL 映射容器
#include <memory> //STL通過配置設定器進行的記憶體配置設定
#include<new> //動态記憶體配置設定
#include <numeric> //STL常用的數字操作
#include <iomanip> //參數化輸入/輸出
#include <ios> //基本輸入/輸出支援
#include <iosfwd> //輸入/輸出系統使用的前置聲明
#include <iostream> //資料流輸入/輸出
#include <istream> //基本輸入流
#include <iterator> //STL疊代器
#include <ostream> //基本輸出流
#include <queue> //STL 隊列容器
#include <set> //STL 集合容器
#include <sstream> //基于字元串的流
#include <stack> //STL 堆棧容器
#include <stdexcept> //标準異常類
#include <streambuf> //底層輸入/輸出支援
#include <string> //字元串類
#include <typeinfo> //運作期間類型資訊
#include <utility> //STL 通用模闆類
#include <valarray> //對包含值的數組的操作
#include <vector> //STL 動态數組容器
C99增加的部分
#include <complex.h> //複數處理
#include <fenv.h> //浮點環境
#include <inttypes.h> //整數格式轉換
#include <stdbool.h> //布爾環境
#include <stdint.h> //整型環境
#include <tgmath.h> //通用類型數學宏
C 常用庫檔案及庫函數一覽
頭檔案 ctype.h
字元處理函數: 本類别函數用于對單個字元進行處理,包括字元的類别測試和字元的大小寫轉換
- 字元測試是否字母和數字 isalnum
- 是否字母 isalpha
- 是否控制字元 iscntrl
- 是否數字 isdigit
- 是否可顯示字元(除空格外) isgraph
- 是否可顯示字元(包括空格) isprint
- 是否既不是空格,又不是字母和數字的可顯示字元 ispunct
- 是否空格 isspace
- 是否大寫字母 isupper
- 是否16進制數字(0-9,A-F)字元 isxdigit
- 字元大小寫轉換函數 轉換為大寫字母 toupper
- 轉換為小寫字母 tolower
頭檔案 local.h
地區化: 本類别的函數用于處理不同國家的語言差異。
- 地區控制 地區設定 setlocale
- 數字格式約定查詢 國家的貨币、日期、時間等的格式轉換 localeconv
頭檔案 math.h
數學函數: 本分類給出了各種數學計算函數,必須提醒的是ANSIC标準中的資料格式并不符合IEEE754标準,一些C語言編譯器卻遵循IEEE754(例如frinklin C51)
三角函數:
- 反餘弦 acos
- 反正弦 asin
- 反正切 atan
- 反正切2 atan2
- 餘弦 cos
- 正弦 sin
- 正切 tan
- 雙曲餘弦 cosh
- 雙曲正弦 sinh
- 雙曲正切 tanh
其他函數:
- 指數函數 exp
- 指數分解函數 frexp
- 乘積指數函數 fdexp
- 自然對數 log
- 以10為底的對數 log10
- 浮點數分解函數 modf
- 幂函數 pow
- 平方根函數 sqrt
- 求下限接近整數 ceil
- 絕對值 fabs
- 求上限接近整數 floor
- 求餘數 fmod
頭檔案 setjmp.h io.h
本分類函數用于實作在不同底函數之間直接跳轉代碼。
- 儲存調用環境 setjmp
- 恢複調用環境 longjmp
頭檔案 signal.h
信号處理: 該分類函數用于處理那些在程式執行過程中發生例外的情況。
- 指定信号處理函數 signal
- 發送信号 raise
頭檔案 stdarg.h
可變參數處理: 本類函數用于實作諸如printf,scanf等參數數量可變底函數。
- 可變參數通路宏
- 可變參數開始宏 va_start
- 可變參數結束宏 va_end
- 可變參數通路宏 通路下一個可變參數宏 va_arg
頭檔案 stdio.h
輸入輸出函數:該分類用于處理包括檔案、控制台等各種輸入輸出裝置,各種函數以“流”的方式實作
- 删除檔案 remove
- 修改檔案名稱 rename
- 生成臨時檔案名稱 tmpfile
- 得到臨時檔案路徑 tmpnam
- 檔案通路 關閉檔案 fclose
- 重新整理緩沖區 fflush
- 打開檔案 fopen
- 将已存在的流指針和新檔案連接配接 freopen
- 設定磁盤緩沖區 setbuf
- 設定磁盤緩沖區 setvbuf
輸入輸出:
- 格式化輸入與輸出函數
- 格式輸出 fprintf
- 格式輸入 fscanf
- 格式輸出(控制台) printf
- 格式輸入(控制台) scanf
- 格式輸出到緩沖區 sprintf
- 從緩沖區中按格式輸入 sscanf
- 格式化輸出 vfprintf
- 格式化輸出 vprintf
- 格式化輸出 vsprintf
字元輸入輸出:
- 輸入一個字元 fgetc
- 字元串輸入 fgets
- 字元輸出 fputc
- 字元串輸出 fputs
- 字元輸入(控制台) getc
- 字元輸入(控制台) getchar
- 字元串輸入(控制台) gets
- 字元輸出(控制台) putc
- 字元輸出(控制台) putchar
- 字元串輸出(控制台) puts
- 字元輸出到流的頭部 ungetc
直接輸入輸出
- 直接流讀操作 fread
- 直接流寫操作 fwrite
檔案定位函數
- 得到檔案位置 fgetpos
- 檔案位置移動 fseek
- 檔案位置設定 fsetpos
- 得到檔案位置 ftell
- 檔案位置複零位 remind
錯誤處理函數
- 錯誤清除 clearerr
- 檔案結尾判斷 feof
- 檔案錯誤檢測 ferror
- 得到錯誤提示字元串 perror
頭檔案 stdlib.h
實用工具函數: 本分類給出了一些函數無法按以上分類,但又是程式設計所必須要的。
- 字元串轉換函數
- 字元串轉換為整數 atoi
- 字元串轉換為長整數 atol
- 字元串轉換為浮點數 strtod
- 字元串轉換為長整數 strtol
- 字元串轉換為無符号長整型 strtoul
僞随機序列産生函數
- 産生随機數 rand
- 設定随機函數的起動數值 srand
存儲管理函數
- 配置設定存儲器 calloc
- 釋放存儲器 free
- 存儲器配置設定 malloc
- 重新配置設定存儲器 realloc
環境通信
- 中止程式 abort
- 退出程式執行,并清除環境變量 atexit
- 退出程式執行 exit
- 讀取環境參數 getenv
- 程式挂起,臨時執行一個其他程式 system
- 搜尋和排序工具 二分查找(資料必須已排序) bsearch
- 快速排序 qsort
- 整數運算函數 求絕對值 abs
- 得到除法運算底商和餘數 div
- 求長整形底絕對值 labs
- 求長整形除法的商和餘數 ldiv
- 多位元組字元函數 得到多位元組字元的位元組數 mblen
- 得到多位元組字元的位元組數 mbtowc
- 多位元組字元轉換 wctomb
- 多位元組字元的字元串操作 将多位元組串轉換為整數數組 mbstowcs
- 将多位元組串轉換為字元數組 mcstowbs
頭檔案 string.h
字元串處理: 本分類的函數用于對字元串進行合并、比較等操作
- 字元串拷貝 塊拷貝(目的和源存儲區不可重疊) memcpy
- 塊拷貝(目的和源存儲區可重疊) memmove
- 串拷貝 strcpy
- 按長度的串拷貝 strncpy
- 字元串連接配接函數 串連接配接 strcat
- 按長度連接配接字元串 strncat
- 串比較函數 塊比較 memcmp
- 字元串比較 strcmp
- 字元串比較(用于非英文字元) strcoll
- 按長度對字元串比較 strncmp
- 字元串轉換 strxfrm
- 字元與字元串查找 字元查找 memchr
- 字元查找 strchr
- 字元串查找 strcspn
- 字元串查找 strpbrk
- 字元串查找 strspn
- 字元串查找 strstr
- 字元串分解 strtok
- 雜類函數 字元串設定 memset
- 錯誤字元串映射 strerror
- 求字元串長度 strlen
頭檔案 time.h
日期和時間函數: 本類别給出時間和日期處理函數
- 時間操作函數得到處理器時間 clock
- 得到時間差 difftime
- 設定時間 mktime
- 得到時間 time
- 時間轉換函數 得到以ASCII碼表示的時間 asctime
- 得到字元串表示的時間 ctime
- 得到指定格式的時間 strftime
序号 庫類别 頭檔案
- 錯誤處理 errno.h
- 字元處理 ctyphe.
- 地區化 local.h
- 數學函數 math.h
- 信号處理 signal.h
- 輸入輸出 stdio.h
- 實用工具程式 stdlib.h
- 字元串處理 string.h