国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

perror()與strerror()的應(yīng)用

2019-11-08 03:16:04
字體:
供稿:網(wǎng)友
perror() 和 strerror() 以一種直觀的方式打印出錯(cuò)誤信息,對(duì)于調(diào)試程序和編寫優(yōu)秀的程序非常有用。下面是perror() 與 strerror() 的使用范例及區(qū)別:perror()原型:#include <stdio.h>void perror(const char *s);其中,perror()的參數(shù)s 是用戶提供的字符串。當(dāng)調(diào)用perror()時(shí),它輸出這個(gè)字符串,后面跟著一個(gè)冒號(hào)和空格,然后是基于當(dāng)前errno的值進(jìn)行的錯(cuò)誤類型描述。strerror()原型:#include <string.h>char * strerror(int errnum);這個(gè)函數(shù)將errno的值作為參數(shù),并返回一個(gè)描述錯(cuò)誤的字符串[cpp] view plain copy/*rename.c*/    #include<stdio.h>  #include <string.h>  #include <errno.h>    int main(int argc,char **argv)  {      char path[]="./first.c";      char newpath[] = "./second.c";      char newpathnot[] = "./gong/suo.c";      extern int errno;        if( rename(path,newpathnot) == 0)      {          strerror()方法與perror()的用法十分相似。    先談?wù)刾error()的用法,這個(gè)方法用于將上一條語句(方法)執(zhí)行后的錯(cuò)誤打印到標(biāo)準(zhǔn)輸出上。一般情況下(沒有使用重定向的話),就是輸出到控制臺(tái)上。但是,如果我需要了解另外一個(gè)進(jìn)程的某一個(gè)方法執(zhí)行的錯(cuò)誤,或者更briefly,我就希望將錯(cuò)誤打印到一個(gè)文件里面,perror()就不太合適了!為了實(shí)現(xiàn)我剛剛說到的要求,我們首先要將錯(cuò)誤放到一個(gè)字符串里面。這個(gè)時(shí)候,strerror()就合適了!strerror(errno)    首先,系統(tǒng)會(huì)根據(jù)上一條語句的執(zhí)行錯(cuò)誤情況,將errno賦值.。關(guān)于這點(diǎn),我們首先明白兩點(diǎn)。第一,errno是一個(gè)系統(tǒng)變量,是不需要我們賦值或者聲明的。第二,errno是一個(gè)int類型的變量,而且其中的值對(duì)應(yīng)一種特定錯(cuò)誤類型 然后,關(guān)于streorror()本身,可以這么理解。顧名思義,streorror=string+error,就是將errno值翻譯成描述錯(cuò)誤類型的string語句!

轉(zhuǎn)載自:http://blog.csdn.net/callinglove/article/details/8301789


上一篇:Libnids分析

下一篇:A1051. Pop Sequence (25)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 友谊县| 恭城| 屯留县| 都安| 永川市| 盘山县| 沾益县| 汤原县| 邵阳市| 富川| 弥渡县| 西和县| 定襄县| 木里| 韶关市| 南昌市| 北安市| 大竹县| 德兴市| 闵行区| 岳阳市| 丹江口市| 淮北市| 长岛县| 恩平市| 从江县| 鄄城县| 博客| 微山县| 凤冈县| 通榆县| 通州市| 莆田市| 佛学| 崇文区| 蒙山县| 昌图县| 金溪县| 崇信县| 正阳县| 应城市|