添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

errno 數是針對各種錯誤狀況指派給 errno 的值。

ERRNO.H 包含值的定義 errno 。 不過,並非所有 中指定的 ERRNO.H 定義都用於 32 位 Windows 作業系統。 中的 ERRNO.H 某些值會存在,以維持與 UNIX 系列作業系統的相容性。 errno 32 位 Windows 作業系統中的值是 UNIX 系統中值的 errno 子集。

此值 errno 不一定與 Windows 作業系統的系統呼叫所傳回的實際錯誤碼相同。 若要存取實際的作業系統錯誤碼,請使用 _doserrno 包含此值的 變數。

支援下列 errno 值:

EACCES 權限遭拒。 檔案的許可權設定不允許指定的存取。 嘗試以與檔案屬性不相容的方式存取檔案(或在某些情況下為目錄)。

例如,嘗試從未開啟的檔案讀取時,可能會發生錯誤。 或者,嘗試開啟現有的唯讀檔案以進行寫入,或開啟目錄,而不是檔案。 在 MS-DOS 作業系統 3.0 版和更新版本下, EACCES 也可能表示鎖定或共用違規。

在嘗試對檔案或目錄進行重新命名,或是移除現有目錄時,也可能會發生該錯誤。 EAGAIN 沒有更多進程或沒有足夠的記憶體或達到巢狀層級上限。 嘗試建立新的進程失敗,因為沒有更多進程位置,或記憶體不足,或已達到巢狀層級上限。 EBADF 檔案編號錯誤。 有兩個可能的原因:1) 指定的檔案描述元不是有效的值或未參考開啟的檔案。 2) 嘗試寫入以唯讀存取方式開啟的檔案或裝置。 EBUSY 裝置或資源忙碌中。 ECHILD 沒有繁衍的處理序。 EDEADLK 會發生資源死結。 EDEADLOCK EDEADLK 舊版 Microsoft C 版本的相容性相同。 數學引數。 數學函式的自變數不在函式的定義域中。 EEXIST 檔案存在。 嘗試建立已存在的檔案。 例如,和 _O_CREAT _O_EXCL 旗標是在呼叫中 _open 指定,但具名檔案已經存在。 EFAULT 不正確的位址。 EFBIG 檔案太大。 EILSEQ 不合法的位元組序列(例如,在字串中 MBCS )。 EINTR 中斷的函式。 EINVAL 無效引數。 為函式的其中一個引數提供無效的值。 例如,定位檔案指標時,為原點提供的值是在檔案開頭之前。 fseek 。 I/O 錯誤。 EISDIR 這是目錄。 EMFILE 開啟太多檔案。 沒有更多檔案描述項可用,因此已無法開啟更多檔案。 EMLINK 太多連結。 ENAMETOOLONG 檔名太長。 ENFILE 系統中開啟太多檔案。 ENODEV 沒有這類裝置。 ENOENT 無此檔案或目錄。 指定的檔案或目錄不存在或找不到。 每當指定的檔案不存在或路徑的元件未指定現有目錄時,就會發生此訊息。 ENOEXEC Exec 格式錯誤。 嘗試執行不是可執行檔或具有無效可執行檔格式的檔案。 ENOLCK 沒有可用的鎖定。 ENOMEM 沒有足夠的記憶體可供嘗試的運算子使用。 例如,當記憶體不足而無法執行子進程,或無法滿足呼叫中的 _getcwd 配置要求時,可能會發生此訊息。 ENOSPC 裝置無剩餘空間。 裝置上已沒有空間可供寫入 (例如當磁碟已滿時)。 ENOSYS 不支援函式。 ENOTDIR 不是目錄。 ENOTEMPTY 目錄未清空。 ENOTTY 不適當的 I/O 控制作業。 ENXIO 沒有這類裝置或位址。 EPERM 不允許作業。 EPIPE 管線中斷。 ERANGE 結果太大。 針對數學函式的引數太大,導致結果部分或完全失去的精確度。 當自變數大於預期時,其他函式也會發生此錯誤(例如,當的 buffer 自變數 _getcwd 超過預期時)。 EROFS 唯讀檔案系統。 ESPIPE 搜尋無效。 ESRCH 沒有這類程式。 EXDEV 跨裝置連結。 嘗試將檔案移至不同的裝置(使用 函 rename 式)。 STRUNCATE 字串複製或串連導致截斷的字串。 請參閱 _TRUNCATE

為了與 POSIX 相容,支援下列值: