每當程式執行時發生錯誤時,系統會將錯誤代碼寫入到外部的一個變數errno。透過這個變數可以得知更詳盡的錯誤訊息。然而代碼並不是human-readable,因此可以利用perror這個function來幫我們把代碼轉換成human-readable。
void perror(const char *s);
s,是加在錯誤訊息之前的一個字串,我們才知道是哪個地方發生錯誤。下面以嘗試開啟一個不存在的檔案來做說明:
int main() {
FILE *fptr;
if((fptr = fopen("nonexist.dat", "r")) == NULL)
{
perror("Errors");
return(0);
}
printf("No errors\n");
fclose(fptr);
return(0);
}
執行時,會產生以下的訊息
Errors: No such file or directory
2007年12月23日 星期日
perror
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言