perror ( )用 來 將 上 一 個 函 數 發 生 錯 誤 的 原 因 輸 出 到 標 準 錯誤 (stderr) 。參數 s 所指的字符串會先打印出,後面再加上錯誤原因字符串。此錯誤原因依照全局變量errno 的值來決定要輸出的字符串。 在庫函數中有個error變量,每個error值對應着以字符串表示的錯誤類型。當你調用"某些"函數出錯時,該函數已經重新設置了error的值。perror函數只是將你輸入的一些信息和現在的error所對應的錯誤一起輸出。 範例: 測試環境:Linux,GCC #include <stdio.h> int main(void) { FILE *fp ; fp = fopen( "/root/noexitfile", "r+" ); if ( NULL == fp ) { perror("/root/noexitfile"); } return 0; } 運行結果: [root@localhost io]# gcc perror.c [root@localhost io]# ./a.out /root/noexitfile: No such file or directory