- C 標準庫
- C 庫 - 主頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 實用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 實用資源
C 庫 - errno 宏
如果出現任何錯誤,extern int 型別的 C 庫 errno 宏由系統呼叫和一些庫函式設定,以指示是否出錯。
每當任何特定函式遇到錯誤時,系統呼叫會自動透過此宏呼叫,並用於報告程式中的錯誤情況。
以下是 C 程式中發生的錯誤列表 −
- 檔案 I/O 錯誤(例如,未找到檔案,拒絕訪問許可權)
- 記憶體分配失敗(例如,malloc() 返回 NULL)
- 無效函式引數(例如,傳遞無效檔案)
- 與數學相關的錯誤(例如,除以零)
- 與網路相關的錯誤(例如,套接字錯誤)
語法
以下是 errno 宏的 C 庫語法 −
extern int errno
引數
這不是一個函式。因此,它不接受任何引數。
返回值
不返回任何值。
示例 1
以下是顯示其演示的 C 庫基本宏 errno。
#include <stdio.h>
#include <errno.h>
#include <string.h>
extern int errno ;
int main () {
FILE *fp;
fp = fopen("file.txt", "r");
if( fp == NULL ) {
fprintf(stderr, "Value of errno: %d\n", errno);
fprintf(stderr, "Error opening file: %s\n", strerror(errno));
} else {
fclose(fp);
}
return(0);
}
輸出
編譯以上程式碼將產生以下結果,其中檔名 file.txt 不存在 −
Value of errno: 2 Error opening file: No such file or directory
廣告