最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言錯(cuò)誤信息報(bào)告strerror函數(shù)和perror函數(shù)詳解

 更新時(shí)間:2023年03月23日 09:10:26   作者:神游患者╭  
這篇文章主要介紹了C語言錯(cuò)誤信息報(bào)告strerror函數(shù)和perror函數(shù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

strerror

char* strerror(int errnum);
//返回錯(cuò)誤碼,所對應(yīng)的錯(cuò)誤信息。
/*strerror example : error list */
#include <stdio.h>
#include <string.h>
#include <errno.h>//必須包含的頭文件

解釋 errnum 的值,生成一個(gè)字符串,其中包含描述錯(cuò)誤條件的消息,就像由庫的函數(shù)設(shè)置為 errno 一樣。

返回的指針指向靜態(tài)分配的字符串,程序不應(yīng)修改該字符串。對此函數(shù)的進(jìn)一步調(diào)用可能會覆蓋其內(nèi)容(不需要特定的庫實(shí)現(xiàn)來避免數(shù)據(jù)爭用)。

strerror 生成的錯(cuò)誤字符串可能特定于每個(gè)系統(tǒng)和庫實(shí)現(xiàn)。

參數(shù)

errnum

錯(cuò)誤號。

返回值

指向描述錯(cuò)誤錯(cuò)誤的字符串的指針。

例:

#include <stdio.h>
#include <string.h>
#include <errno.h>
int main() {
    FILE* pf = fopen("test.txt", "r");
    if (pf == NULL) {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fclose(pf);
    pf = NULL;
    return 0;
}

運(yùn)行結(jié)果:

perror

void perror ( const char * str );

打印錯(cuò)誤消息

將 errno 的值解釋為錯(cuò)誤消息,并將其打印到 stderr(標(biāo)準(zhǔn)錯(cuò)誤輸出流,通常是控制臺),可以選擇在其前面加上 str 中指定的自定義消息。

errno 是一個(gè)整數(shù)變量,其值描述調(diào)用庫函數(shù)生成的錯(cuò)誤條件或診斷信息(C 標(biāo)準(zhǔn)庫的任何函數(shù)都可以為 errno 設(shè)置值,即使未在此參考中顯式指定,即使未發(fā)生錯(cuò)誤)。

錯(cuò)誤生成的錯(cuò)誤消息取決于平臺。

如果參數(shù) str 不是空指針,則打印 str 后跟冒號 (:)和一個(gè)空間。然后,無論 str 是否為空指針,都會打印生成的錯(cuò)誤描述,后跟換行符 ('\n')。

錯(cuò)誤應(yīng)在產(chǎn)生錯(cuò)誤后立即調(diào)用,否則可以通過調(diào)用其他函數(shù)來覆蓋它。

參數(shù)。

str

C 字符串,包含要在錯(cuò)誤消息本身之前打印的自定義消息。

如果是空指針,則不會打印前面的自定義消息,但仍會打印錯(cuò)誤消息。

按照慣例,應(yīng)用程序本身的名稱通常用作參數(shù)。

返回值

沒有

#include <stdio.h>
#include <string.h>
int main() {
    //打開文件失敗的時(shí)候,會返回NULL
    FILE* pf = fopen("test.txt", "r");
    if (pf == NULL) {
        perror("fopen");
        return 1;
    }
    //關(guān)閉文件
    fclose(pf);
    pf == NULL;
    return 0;
}

運(yùn)行結(jié)果:

到此這篇關(guān)于C語言 錯(cuò)誤信息報(bào)告strerror函數(shù)和perror函數(shù)的文章就介紹到這了,更多相關(guān)C語言strerror函數(shù)和perror函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于ROS 服務(wù)通信模式詳解

    基于ROS 服務(wù)通信模式詳解

    今天小編就為大家分享一篇基于ROS 服務(wù)通信模式詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++實(shí)現(xiàn)單置換密碼

    C++實(shí)現(xiàn)單置換密碼

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)單置換密碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化

    QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化

    本文主要介紹了QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C語言超全面define預(yù)處理指令的使用說明

    C語言超全面define預(yù)處理指令的使用說明

    C語言里可以用#define定義一個(gè)標(biāo)識符來表示一個(gè)常量。特點(diǎn)是:定義的標(biāo)識符不占內(nèi)存,只是一個(gè)臨時(shí)的符號,預(yù)編譯后這個(gè)符號就不存在了,也不做類型定義。預(yù)編譯又叫預(yù)處理
    2022-04-04
  • C++調(diào)用Matlab函數(shù)求特征值

    C++調(diào)用Matlab函數(shù)求特征值

    這篇文章主要為大家詳細(xì)介紹了C++調(diào)用Matlab函數(shù)求特征值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 簡述c++ 發(fā)展史

    簡述c++ 發(fā)展史

    這篇文章主要介紹了c++ 發(fā)展的過程,幫助大家更好的了解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • wxWidgets自定義按鈕的方法

    wxWidgets自定義按鈕的方法

    這篇文章主要為大家詳細(xì)介紹了wxWidgets自定義按鈕的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 深入c語言continue和break的區(qū)別詳解

    深入c語言continue和break的區(qū)別詳解

    本篇文章是對c語言中continue和break的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 解析linux 文件和目錄操作的相關(guān)函數(shù)

    解析linux 文件和目錄操作的相關(guān)函數(shù)

    以下是對linux中文件和目錄操作的相關(guān)函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • String底層函數(shù)的實(shí)現(xiàn)方式詳解

    String底層函數(shù)的實(shí)現(xiàn)方式詳解

    這篇文章主要介紹了String底層函數(shù)的實(shí)現(xiàn)方式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09

最新評論

昆明市| 射洪县| 庆安县| 五台县| 安乡县| 海盐县| 运城市| 固原市| 靖远县| 麻阳| 长垣县| 鹿泉市| 峡江县| 墨竹工卡县| 平乐县| 云浮市| 延庆县| 宜黄县| 安化县| 波密县| 栾川县| 克拉玛依市| 建湖县| 义乌市| 沁源县| 封开县| 德阳市| 虞城县| 望谟县| 福贡县| 贡山| 五台县| 广河县| 台前县| 济宁市| 池州市| 巴塘县| 蕉岭县| 东港市| 喜德县| 农安县|