函式
<cstdio>

perror

void perror ( const char * str );
列印錯誤訊息
errno 的值解釋為錯誤訊息,並將其列印到 stderr(標準錯誤輸出流,通常是控制檯),可以選擇在前面加上 str 中指定的自定義訊息。

errno 是一個整型變數,其值描述了庫函式呼叫產生的錯誤狀況或診斷資訊(C 標準庫的任何函式都可能為 errno 設定一個值,即使此參考中未明確指定,即使沒有發生錯誤),有關更多資訊,請參閱 errno

perror生成的錯誤訊息是平臺相關的。

如果引數 str 不是空指標,則列印 str,後跟冒號(:)和一個空格。然後,無論 str 是否為空指標,都會列印生成的錯誤描述,後跟一個換行符('\n').

perror應該在錯誤產生後立即呼叫,否則它可能被其他函式呼叫覆蓋。

引數。

str
包含要在錯誤訊息本身之前列印的自定義訊息的 C 字串。
如果它是空指標,則不列印前面的自定義訊息,但仍會列印錯誤訊息。
按照慣例,應用程式本身的名稱通常用作引數。

返回值



示例

1
2
3
4
5
6
7
8
9
10
11
12
13
/* perror example */
#include <stdio.h>

int main ()
{
  FILE * pFile;
  pFile=fopen ("unexist.ent","rb");
  if (pFile==NULL)
    perror ("The following error occurred");
  else
    fclose (pFile);
  return 0;
}

如果檔案unexist.ent不存在,您可能會期望類似這樣的程式輸出
The following error occurred: No such file or directory


另見