亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言中返回錯誤信息的相關函數用法總結

2020-01-26 14:54:29
字體:
來源:轉載
供稿:網友

C語言strerror()函數:返回錯誤原因的描述字符串
頭文件:

#include <string.h>

定義函數:

char * strerror(int errnum);

函數說明:strerror()用來依參數errnum 的錯誤代碼來查詢其錯誤原因的描述字符串, 然后將該字符串指針返回.

返回值:返回描述錯誤原因的字符串指針.

范例:

/* 顯示錯誤代碼0 至9 的錯誤原因描述 */#include <string.h>main(){  int i;  for(i = 0; i < 10; i++)  printf("%d : %s/n", i, strerror(i));}

執行:

0 : Success1 : Operation not permitted2 : No such file or directory3 : No such process4 : Interrupted system call5 : Input/output error6 : Device not configured7 : Argument list too long8 : Exec format error9 : Bad file descriptor

C語言perror()函數:打印最近一次系統錯誤信息
函數perror()用于拋出最近的一次系統錯誤信息,其原型如下:

  void perror(char *string);

【參數】string為要輸出的錯誤信息。

說明:perror()用來將上一個函數發生錯誤的原因輸出到標準錯誤(stderr)。參數string所指的字符串會先打印出,后面再加上錯誤原因字符串,此錯誤原因依照全局變量errno 的值來決定要輸出的字符串。

在庫函數中有個errno變量,每個errno值對應著以字符串表示的錯誤類型。當你調用"某些"函數出錯時,該函數已經重新設置了errno的值。perror函數只是將你輸入的一些信息和現在的errno所對應的錯誤一起輸出。

【實例】打開一個不存在的文件并輸出錯誤信息。

#include <stdio.h>#include <assert.h>#include <stdlib.h>int main( void ){  FILE *fp;  fp = fopen( "test.txt", "w" );/*打開文件*/  assert( fp ); /*斷言不為空*/  fclose( fp );/*關閉*/  fp = fopen( "nulltest.txt", "r" );/*打開一個不存在的文件*/  if ( NULL == fp )  {    /*顯示最近一次錯誤信息*/    perror("fopen( /"nulltest.txt/", /"r/" )");  }  return 0;}

運行結果:

fopen( "nulltest.txt", "r" ):No such file or directory

程序先定義一個文件指針fp,之后創建文件 test.txt,斷言文件打開成功,然后關閉該文件,再以只讀的方式打開文件nulltest.txt,判斷該文件指針是否問空,如果為空則使用 perror() 輸出錯誤信息。perror()用來將上一個函數發生錯誤的原因 輸出到標準設備(stderr)。函數參數string所指的字符串會先打印出, 后面再加上錯誤原因字符串。此錯誤原因依照全局變量error的值來決定要輸出的字符串。

如果連續調用perror,如下:

perror("1");perror("2");

會出現以下結果:

1:success2:Illegal seek

這種問題出現的原因是:

perror()是通過lseek方法根據errorno查找對應的錯誤信息,然后輸出的。

在程序運行的時候,errorno的初始值對應的信息為:Success。只有程序中有錯誤出現時,才會改變給errorno。如果沒有錯誤出現,errorno的值是不會改變的。

但是perror方法是個例外,每次調用perror方法,都會首先輸出errorno對應的信息,然后重置errorno為undefined,這時如果馬上在一次調用perror,perror中的lseek根據undefined去查找錯誤信息,就會拋錯,錯誤剛好被記錄在errorno中,因此,就把lseek的錯誤打印出來了。所以第一次調用perror方法的時候會正常數據錯誤信息,但是如果連續調用第二次,由于第一次的perror調用已經把errorno設置成了undefined,所以連續的第二次,第三次...........第一億次調用都會輸出Illegal seek錯誤。

C語言ferror()函數:檢查文件流是否有錯誤發生

頭文件:

#include <stdio.h>

定義函數:

int ferror(FILE *stream);

函數說明:ferror()用來檢查參數stream 所指定的文件流是否發生了錯誤情況, 如有錯誤發生則返回非0 值.

返回值:如果文件流有錯誤發生則返回非0 值.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
69久久夜色精品国产69| 亚洲电影av在线| www.国产一区| 亚洲免费视频一区二区| 亚洲a中文字幕| 国产精品∨欧美精品v日韩精品| 日韩av影视在线| 国内精品美女av在线播放| 成人亚洲欧美一区二区三区| 日韩精品日韩在线观看| 97精品一区二区视频在线观看| 91成人性视频| 国产精品色视频| 色综合久久久久久中文网| 欧美日韩一区二区在线播放| 日韩免费在线观看视频| 亚洲a级在线观看| 日本19禁啪啪免费观看www| 欧美国产日韩视频| 国产视频在线一区二区| 高跟丝袜欧美一区| 国产精品免费一区二区三区都可以| 九色精品美女在线| 欧美另类在线播放| 国产精品爽黄69天堂a| 在线观看亚洲视频| 欧美性xxxx在线播放| 亚洲精品一区二区三区不| 懂色av一区二区三区| 法国裸体一区二区| 欧美床上激情在线观看| 福利一区视频在线观看| 精品美女国产在线| 国产视频亚洲精品| 欧美一级在线亚洲天堂| 日韩亚洲国产中文字幕| 九九久久综合网站| 欧美成人免费一级人片100| 中国china体内裑精亚洲片| 日韩欧美成人网| 欧美乱妇高清无乱码| 国产精品久久久久久久久久| 国产日本欧美一区二区三区在线| 中文字幕一区电影| 日韩在线小视频| 亚洲国产欧美一区二区三区久久| 欧美激情久久久久| 日韩av免费网站| 欧美三级欧美成人高清www| 成人免费网站在线看| 国产在线高清精品| 欧美影院成年免费版| 国产一区二区黑人欧美xxxx| 亚洲国产精品成人精品| 亚洲欧美制服另类日韩| 国模精品视频一区二区| 亚洲第一中文字幕| 一区二区三区高清国产| 91高潮在线观看| 日韩中文综合网| 精品久久久久久国产| 亚洲欧美变态国产另类| 日本人成精品视频在线| 国产日韩中文字幕在线| 午夜精品久久久久久久白皮肤| 久久九九热免费视频| 91久久夜色精品国产网站| 日韩一区二区三区在线播放| 久久精品久久久久电影| 亚洲另类欧美自拍| 国产精品嫩草影院久久久| 中文字幕精品在线视频| 91丨九色丨国产在线| 国产98色在线| 亚洲精品综合久久中文字幕| 国产视频福利一区| 欧美电影免费在线观看| 性视频1819p久久| 最近2019中文字幕大全第二页| 亚洲第一天堂无码专区| 国产国语videosex另类| 亚洲男人天堂古典| 亚洲精品理论电影| 91超碰caoporn97人人| 久久精品99久久久香蕉| 久久久女人电视剧免费播放下载| 亚洲一区二区中文字幕| 久久久久久伊人| 国产精品一区二区3区| 亚洲缚视频在线观看| 成人有码在线视频| 成人精品久久av网站| 亚洲美腿欧美激情另类| 中文字幕视频在线免费欧美日韩综合在线看| 欧美日韩在线第一页| 77777少妇光屁股久久一区| 免费av在线一区| 久久综合88中文色鬼| 日韩有码在线电影| 日韩精品视频在线观看网址| 日韩免费观看在线观看| 午夜剧场成人观在线视频免费观看| 57pao成人国产永久免费| 亚洲乱码av中文一区二区| 少妇高潮久久久久久潘金莲| 亚洲一区二区国产| 国产午夜精品一区二区三区| 成人h片在线播放免费网站| 国产精欧美一区二区三区| 日韩欧美主播在线| 久久久久久久久久久亚洲| 九九热r在线视频精品| 中文字幕av一区二区三区谷原希美| 久久久精品国产亚洲| 国产成人精品一区| 欧美日韩国产一区在线| 日韩欧美a级成人黄色| 91久久久久久久久久久久久| 久久精品国产v日韩v亚洲| 色噜噜狠狠色综合网图区| 国产精品亚洲欧美导航| 国产日韩在线看片| 米奇精品一区二区三区在线观看| 欧美日本在线视频中文字字幕| 一本色道久久88精品综合| 亚洲free性xxxx护士白浆| 国产精品99久久久久久白浆小说| 亚洲欧美成人在线| 日韩电影免费在线观看中文字幕| 亚洲自拍偷拍网址| 久久久伊人日本| 国产精品老女人视频| 欧美午夜www高清视频| 国产精品久久久久久久久久小说| 在线视频欧美日韩精品| 日韩精品中文字幕视频在线| 日韩专区在线观看| 亚洲国产91精品在线观看| 亚洲国产精品一区二区三区| 神马国产精品影院av| 国产精品国内视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲视频在线观看网站| 在线播放亚洲激情| 992tv在线成人免费观看| 亚洲aa在线观看| 久久久久久久久亚洲| 久久激情视频久久| 欧美午夜电影在线| 韩国欧美亚洲国产| 欧美激情视频一区二区三区不卡| 欧美一区二三区| 亚洲成av人影院在线观看| 欧美日本啪啪无遮挡网站| 中文字幕亚洲综合久久筱田步美| 国产一区二区香蕉| 欧美在线亚洲一区| 精品国产老师黑色丝袜高跟鞋| 一区二区三欧美| 久久久久国产精品免费网站| 国产成人久久久| 日韩欧美一区视频| 国产精品第一第二| 久久久久国色av免费观看性色|