歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

APUE學習之出錯處理,apue學習出錯

APUE學習之出錯處理,apue學習出錯


APUE學習之出錯處理,apue學習出錯


     當UNIX函數發生錯誤時,通常會返回一個負值,而且整形變量errno通常被設置為具有特定信息的值。        errno是全局變量,僅當函數出錯才有被改變。對待errno,應注意兩條規則           1:如果沒有出錯,其值不會被例程清除,也就是說,當且僅當函數出錯時,馬上檢查errno的值才有意義。           2:任何函數都不會將errno的值置為0。        C標准定義了兩個函數,用於打印出錯信息:char *strerror(int errnum)和void perror(const char *msg)。        strerror函數將errnum(通常就是errno的值)映射為出錯消息字符串,並返回該字符串的指針。      perror函數基於errno的當前值,在標准錯誤上產生一條出錯消息然後返回。   例子:      #include "apue.h"      #include <errno.h>        int main(int argc, char **argv)      {           fprintf(stderr, "EACCES: %s\n", strerror(EACCES));           errno = ENOENT;           perror(argv[0]);           return 0;      }        ./a.out      EACCES: Permission denied      ./a.out: No such file or directory

http://xxxxxx/Linuxjc/1148742.html TechArticle

Copyright © Linux教程網 All Rights Reserved