C&C++——庫頭文件及其做用


一、 一些頭文件的做用:
:ANSI C。提供斷言,assert(表達式)
:GCC。GTK,GNOME的基礎庫,提供不少有用的函數,若有數據結構操做函數。使用glib只須要包含
:GCC。文件夾操做函數。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等
:ANSI C。字符測試函數。isdigit(),islower()等
:ANSI C。查看錯誤代碼errno是調試程序的一個重要方法。當linuc C api函數發生異常時,通常會將errno變量(需include errno.h)賦一個整數值,不一樣的值表示不一樣的含義,能夠經過查看該值推測出錯的緣由。在實際編程中用這一招解決了很多本來看來莫名其妙的問題。比較麻煩的是每次都要去linux源代碼裏面查找錯誤代碼的含義,如今把它貼出來,之後須要查時就來這裏看了。來自linux 2.4.20-18的內核代碼中的/usr/include/asm/errno.h
:處理命令行參數。getopt()linux

linux經常使用頭文件以下:
POSIX標準定義的頭文件ios

<dirent.h> 目錄項
<fcntl.h> 文件控制
<fnmatch.h> 文件名匹配類型
<glob.h> 路徑名模式匹配類型
<grp.h> 組文件
<netdb.h> 網絡數據庫操做
<pwd.h> 口令文件
<regex.h> 正則表達式
<tar.h> TAR歸檔值
<termios.h> 終端I/O
<unistd.h> 符號常量
<utime.h> 文件時間
<wordexp.h> 字符擴展類型
————————————————————————————————————————————————————————————————
<arpa/inet.h> INTERNET定義
<net/if.h> 套接字本地接口
<netinet/in.h> INTERNET地址族
<netinet/tcp.h> 傳輸控制協議定義
————————————————————————————————————————————————————————————————
<sys/mman.h> 內存管理聲明
<sys/select.h> Select函數
<sys/socket.h> 套接字藉口
<sys/stat.h> 文件狀態
<sys/times.h> 進程時間
<sys/types.h> 基本系統數據類型
<sys/un.h> UNIX域套接字定義
<sys/utsname.h> 系統名
<sys/wait.h> 進程控制
————————————————————————————————————————————————————————————————
POSIX定義的XSI擴展頭文件
<cpio.h> cpio歸檔值
<dlfcn.h> 動態連接
<fmtmsg.h> 消息顯示結構
<ftw.h> 文件樹漫遊
<iconv.h> 代碼集轉換使用程序
<langinfo.h> 語言信息常量
<libgen.h> 模式匹配函數定義
<monetary.h> 貨幣類型
<ndbm.h> 數據庫操做
<nl_types.h> 消息類別
<poll.h> 輪詢函數
<search.h> 搜索表
<strings.h> 字符串操做
<syslog.h> 系統出錯日誌記錄
<ucontext.h> 用戶上下文
<ulimit.h> 用戶限制
<utmpx.h> 用戶賬戶數據庫
————————————————————————————————————————————————————————————————
<sys/ipc.h> IPC(命名管道)
<sys/msg.h> 消息隊列
<sys/resource.h>資源操做
<sys/sem.h> 信號量
<sys/shm.h> 共享存儲
<sys/statvfs.h> 文件系統信息
<sys/time.h> 時間類型
<sys/timeb.h> 附加的日期和時間定義
<sys/uio.h> 矢量I/O操做
————————————————————————————————————————————————————————————————
POSIX定義的可選頭文件
<aio.h> 異步I/O
<mqueue.h> 消息隊列
<pthread.h> 線程
<sched.h> 執行調度
<semaphore.h> 信號量
<spawn.h> 實時spawn接口
<stropts.h> XSI STREAMS接口
<trace.h> 事件跟蹤git


三、 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>    //改用<fstream>
#include <iomanip.h>    //改用<iomainip>
#include <iostream.h>   //改用<iostream>
#include <strstrea.h>   //該類再也不支持,改用<sstream>中的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>   //通用類型數學宏
如需查看stdio.h能夠經過man stdio.h編程

相關文章
相關標籤/搜索