国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 岐山县| 酒泉市| 石阡县| 久治县| 衡阳市| 台南县| 大同市| 山西省| 镇赉县| 都昌县| 凤凰县| 全州县| 报价| 临夏县| 托里县| 余庆县| 上思县| 长兴县| 隆德县| 方正县| 天峨县| 宜兰县| 辽阳县| 台中市| 闸北区| 吉隆县| 浑源县| 景泰县| 大悟县| 孟村| 额济纳旗| 岚皋县| 鄂伦春自治旗| 当阳市| 兴宁市| 珲春市| 修文县| 荥阳市| 唐山市| 积石山| 洛南县|