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
廣告
© . All rights reserved.