0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言中文件讀寫檢測(cè)

jf_78858299 ? 來(lái)源:C語(yǔ)言入門到精通 ? 作者:閆小林 ? 2023-03-24 15:37 ? 次閱讀

ferror函數(shù)

C語(yǔ)言提供一些函數(shù)用來(lái)檢測(cè)輸入輸出函數(shù)調(diào)用時(shí)可能出現(xiàn)的錯(cuò)誤。

一般形式

ferror(fp)

//如果ferror返回值為0(假),表示為出錯(cuò);如果返回一個(gè)非零值,表示出錯(cuò)。

對(duì)同一個(gè)文件每一次調(diào)用輸入輸出函數(shù),都會(huì)產(chǎn)生一個(gè)新的ferror函數(shù)值,因此應(yīng)當(dāng)在調(diào)用一個(gè)輸入輸出函數(shù)后立即檢查ferror函數(shù)的值,否則信息會(huì)丟失,在執(zhí)行fopen函數(shù)時(shí),ferror函數(shù)的初始值自動(dòng)置為0。

clearerr函數(shù)

clearerr的作用是使文件錯(cuò)誤標(biāo)志和文件結(jié)束標(biāo)志置為0。

假設(shè)在調(diào)用一個(gè)輸入輸出函數(shù)時(shí)出現(xiàn)錯(cuò)誤,ferror函數(shù)值為一個(gè)非0值。應(yīng)該立即調(diào)用clearerr(fp),使ferror(fp)的值變成0,以便再進(jìn)行下一次的檢測(cè)。

只要出現(xiàn)文件讀寫錯(cuò)誤標(biāo)志,它就一直保留,直到對(duì)同一文件調(diào)用clearerr函數(shù)或rewind函數(shù),或任何其他一個(gè)輸入輸出函數(shù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135594
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    555

    瀏覽量

    24639
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4261

    瀏覽量

    62233
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言中宏定義的應(yīng)用

    C語(yǔ)言中,宏定義是一種預(yù)處理指令,用于在代碼中定義和使用常量、函數(shù)或代碼片段的替代。
    發(fā)表于 08-17 15:33 ?666次閱讀

    C語(yǔ)言中for循環(huán)的用法和應(yīng)用 C語(yǔ)言中for循環(huán)與while循環(huán)的區(qū)別

    C語(yǔ)言中的循環(huán)結(jié)構(gòu)時(shí),for循環(huán)是最常用的一種。它允許重復(fù)執(zhí)行一段代碼,直到滿足特定條件為止。
    發(fā)表于 08-18 16:33 ?2778次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>for循環(huán)的用法和應(yīng)用 <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>for循環(huán)與while循環(huán)的區(qū)別

    C語(yǔ)言中基本數(shù)據(jù)類型、變量和常量的使用

    C語(yǔ)言中基本數(shù)據(jù)類型、變量和常量的使用
    發(fā)表于 08-18 16:42 ?2237次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>基本數(shù)據(jù)類型、變量和常量的使用

    C語(yǔ)言必備知識(shí)頭文件包含

    文件C語(yǔ)言中是非常重要的組成部分。
    的頭像 發(fā)表于 12-01 18:20 ?1660次閱讀

    C語(yǔ)言關(guān)于中文字符串的使用誤區(qū)在哪

    C語(yǔ)言關(guān)于中文字符串的使用誤區(qū)背景前幾天在寫c語(yǔ)言代碼進(jìn)行文件
    發(fā)表于 07-14 07:54

    C語(yǔ)言中文字符串的使用誤區(qū)有哪些?

    c語(yǔ)言漢字的存儲(chǔ)方式和特點(diǎn)是什么?C語(yǔ)言中文字符串的使用誤區(qū)有哪些?
    發(fā)表于 10-15 06:24

    C語(yǔ)言中指針的介紹非常詳細(xì)

    C語(yǔ)言中指針的介紹非常詳細(xì) C語(yǔ)言中指針的介紹非常詳細(xì)
    發(fā)表于 12-25 10:39 ?57次下載

    C語(yǔ)言和匯編語(yǔ)言混合編程方法和C語(yǔ)言中斷處理方法

    C語(yǔ)言和匯編語(yǔ)言混合編程方法和C語(yǔ)言中斷處理方法,new
    發(fā)表于 01-06 14:36 ?36次下載

    C語(yǔ)言中的關(guān)鍵字

    C語(yǔ)言中的入門教程
    發(fā)表于 10-14 16:24 ?3次下載

    C語(yǔ)言中文件包含詳細(xì)資料總結(jié)

    很多人對(duì)C語(yǔ)言中的 “文件包含”都不陌生了,文件包含處理在程序開發(fā)中會(huì)給我們的模塊化程序設(shè)計(jì)帶來(lái)很大的好處,通過文件包含的方法把程序中的各個(gè)
    發(fā)表于 04-24 18:30 ?5次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>的<b class='flag-5'>文件</b>包含詳細(xì)資料總結(jié)

    總結(jié)那么幾個(gè)C語(yǔ)言中的“坑”

    總結(jié)幾個(gè)C語(yǔ)言中的“坑”
    的頭像 發(fā)表于 01-16 10:52 ?2520次閱讀

    c#語(yǔ)言中怎么使用HTTP代理

    c#語(yǔ)言中怎么使用HTTP代理。
    的頭像 發(fā)表于 09-01 14:46 ?2071次閱讀

    C語(yǔ)言怎樣向文件讀寫字符

    C語(yǔ)言用格式化的方式讀寫文件** 對(duì)文件進(jìn)行格式化輸入輸出時(shí),要用fprintf函數(shù)和fscanf函數(shù),作用與printf函數(shù)和sca
    的頭像 發(fā)表于 03-24 15:24 ?826次閱讀

    【串口屏LUA教程】Lua腳本語(yǔ)言中文教程

    【串口屏LUA教程】Lua腳本語(yǔ)言中文教程
    發(fā)表于 04-29 13:03 ?26次下載

    scanf在C語(yǔ)言中的作用

    scanf在C語(yǔ)言中的作用? scanf是C語(yǔ)言中的輸入函數(shù),用于從標(biāo)準(zhǔn)輸入設(shè)備(如鍵盤)讀取數(shù)據(jù),并將其存儲(chǔ)到變量中。它是C
    的頭像 發(fā)表于 11-23 14:13 ?1153次閱讀