出錯處理
內(nèi)核通過全局變量errno來指明錯誤的類型,每個(gè)程序都可以訪問這個(gè)變量修肠。當(dāng)系統(tǒng)調(diào)用出錯時(shí)古程,會把全局變量errno的值設(shè)置為相應(yīng)的錯誤代碼,然后返回-1屯伞。文件<errno.h>中定義了符號errno以及可以賦予它的各種常量腿箩,這些常量都以字符E開頭。
c標(biāo)準(zhǔn)定義了兩個(gè)函數(shù)劣摇,他們幫助打印出錯信息珠移。
#include<string.h>
char * strerror(int errnum)
返回值:指向消息字符串的指針
此函數(shù)將errnum映射為一個(gè)錯誤信息字符串,并且返回指向此字符串的指針末融。
#include<stdio.h>
void perror(const char *msg)
它首先輸出有msg指向的字符串剑梳,然后是一個(gè)冒號,一個(gè)空格滑潘,接著是對應(yīng)于errno值的錯誤信息,最后是一個(gè)換行符锨咙。