天天看點

C/C++常用頭檔案及函數彙總【轉】

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

序号 庫類别 頭檔案

  1. 錯誤處理 errno.h
  2. 字元處理 ctyphe.
  3. 地區化 local.h
  4. 數學函數 math.h
  5. 信号處理 signal.h
  6. 輸入輸出 stdio.h
  7. 實用工具程式 stdlib.h
  8. 字元串處理 string.h

繼續閱讀