2007年12月23日 星期日

perror

每當程式執行時發生錯誤時,系統會將錯誤代碼寫入到外部的一個變數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

0 意見: