C 標準庫系列之errno h

2022-08-25 18:27:29 字數 517 閱讀 7831

errno.h 提供了乙個整數全域性變數errno,當系統呼叫或者庫函式的錯誤事件發生時可能會修改該值,指明錯誤的原因,該值可在任何需要的地方被修改;

一般情況不為0的值表示出現了異常或者錯誤。

errno.h中定義了一系列的錯誤**,以e開頭的巨集。

glibc中extern int errno來宣告定義該錯誤值;此外其他的e開頭的巨集edom、eilseq、erange、eownerdead等。

微軟提供的為乙個函式,errno被巨集定義#define errno (*_errno());_errno函式可以返回該變數的位址,預計是為了執行緒安全;

此外微軟有自己的一套錯誤體系getlasterror等;此外不同的三方庫也可能提供自己的錯誤體系。

不同的標準庫實現的以e開頭的巨集,可能有不同的定義值,甚至有不同的巨集名稱;可根據需要檢視各個平台的錯誤碼定義說明;

在現實應用中應盡量不要依賴於errno值,因為很可能當呼叫某個函式失敗後,檢查該值時,其值有可能又被其他函式給修改了,不過有時候對於檢查問題的原因還是有用的。

C標準庫之三 errno h

errno.h是c標準庫中的乙個檢查錯誤的標頭檔案,以我個人的理解,它的內部一共定義了3個巨集,分別是edom,erange,errno.其中errno相當於乙個全域性變數,它可以被賦值,而c庫中的每個模組都會包含這個errno.h標頭檔案,那麼errno這個可以被賦值的巨集 不知道這樣理解對不對,...

C 標準庫之

iomanip在c 程式裡面經常見到下面的標頭檔案 include io代表輸入輸出,manip是manipulator 操縱器 的縮寫 在c 上只能通過輸入縮寫才有效。dec 設定整數為十進位制 hex 設定整數為十六進製制 oct 設定整數為八進位制 setbase n 設定整數為n進製 n 8...

Python標準庫系列之pathlib模組

首先我們看使用os模組連線目錄和檔案 import os.path data folder os.path.join source data text files file to open os.path.join data folder,raw data.txt f open file to op...