閱讀285 返回首頁    go 阿裏雲 go 技術社區[雲棲]


errno <errno.h> <cerrno>

原文:https://www.cplusplus.com/reference/clibrary/cerrno/errno/

int
最後的錯誤代碼

這個宏定義了一個可以修改的int整數型左值,因為它既可以被程序讀取,也可以被程序修改。

errno 在程序啟動的時候被設置為0,並且在某個標準C庫函數中將該值修改成0或者其他錯誤信號值。你可以在你方便的時候將它的值重置為0。

聲明errno的頭文件(<cerrno>)同樣也至少聲明了以下兩個不等於0的宏常量:

當errno被設置成這些的時候,宏的意思如下:
EDOM
域錯誤:一些數學函數僅僅為某些真值而定義,被稱為域,例如,平方根函數僅僅為那些非負數字而定義,因此當對負數調用平方根函數時,errno被設置為EDOM。
ERANGE 範圍溢出錯誤: 一個變量的取值範圍是有限的。例如,pow數學函數可以很容易的超過浮點型變量的範圍,或者strtod函數遇到數字序列遠遠超過int整數取值範圍的情況。在這種情況下,errno設置為ERANGE。

在 C++ 中, errno 總是被定義為一個宏,但是在c編譯器中,它可能在外部鏈接中被實現為一個整數對象。

最後更新:2017-04-02 06:52:09

  上一篇:go 實用文章:常用開源協議詳細解析
  下一篇:go Android 2.2完全退出程序, 使用廣播機製