第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C語言子函數(shù)中fopen文件后必須要fclose嗎?

C語言子函數(shù)中fopen文件后必須要fclose嗎?

C
Smart貓小萌 2019-02-03 09:05:45
首先說明 fp不是外部變量,我是在做一個(gè)學(xué)生通訊錄,運(yùn)用到子函數(shù)Open()打開文件,但是為什么這個(gè)子函數(shù)里用完fopen()后要fclose()一下?不是應(yīng)該等所有操作,比如添加學(xué)生信息等操作完成保存時(shí)再關(guān)閉文件嗎?謝謝所有回答和要回答的人,因?yàn)橹荒芙o一個(gè)滿意,所以我認(rèn)真考慮了下,給了一個(gè)我認(rèn)為偏向我問題的人,lzdidiv你的回答也很棒!
查看完整描述

5 回答

?
慕哥9229398

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊

 是的,在使用完一個(gè)文件后應(yīng)該關(guān)閉它,這應(yīng)該成為一個(gè)習(xí)慣。如果不關(guān)閉文件,可能會(huì)丟失數(shù)據(jù)。因?yàn)樵谙蛭募憯?shù)據(jù)時(shí),實(shí)現(xiàn)將數(shù)據(jù)輸?shù)骄彌_區(qū),待緩沖區(qū)充滿后才正式輸出給文件,如果當(dāng)數(shù)據(jù)未充滿緩沖區(qū)而程序結(jié)束運(yùn)行,就會(huì)將緩沖區(qū)中的數(shù)據(jù)丟失。用fclose函數(shù)關(guān)閉文件,他先將緩沖區(qū)中的數(shù)據(jù)輸出到磁盤文件然后才釋放文件指針變量,從而避免了數(shù)據(jù)丟失。
  關(guān)閉文件的格式是:
  fclose(文件指針);

查看完整回答
反對 回復(fù) 2019-03-14
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

fopen文件后不一定要fclose,是否fclose按自己需要。
例如,你先用讀的方法打開,看里面有多少個(gè)記錄。關(guān)閉文件,接下來動(dòng)態(tài)分配數(shù)組,用來存放這些數(shù)據(jù)。再打開文件,把數(shù)據(jù)讀入動(dòng)態(tài)數(shù)組。再關(guān)閉文件。再按添加的方法打開,添加新紀(jì)錄。再關(guān)閉文件。
上面,查看數(shù)據(jù)個(gè)數(shù),動(dòng)態(tài)分配,再讀數(shù)據(jù),期間可以不關(guān)閉文件,而用 rewind(fp), 把文件指針放回開始。
上面,讀,添加寫,也可以不關(guān)閉文件,但在第一次打開時(shí),你要按可讀可寫可添加方式打開,
讀寫期間文件指針移動(dòng)要自己有目的地控制,技術(shù)要求高。
開一次,做單一操作,關(guān)一次,不容易出錯(cuò)。



查看完整回答
反對 回復(fù) 2019-03-14
?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果子函數(shù)中用完fopen()后不調(diào)用fclose()的話,估計(jì)你在子函數(shù)中的輸出就會(huì)有問題,或者說會(huì)丟失數(shù)據(jù)。你試試看(先屏蔽了這個(gè)fclose運(yùn)行看結(jié)果),如果是這樣的話回復(fù)我告訴你原因。
其實(shí)剛剛看到一樓已經(jīng)說出了本質(zhì)了。只是不知道你的程序到底是怎樣的結(jié)構(gòu)。

或者你

是不是說在子函數(shù)中不調(diào)用fclose()是不會(huì)影響最終的結(jié)果的的?如果是,哪你的問題中“但是為什么這個(gè)子函數(shù)里用完fopen()后要fclose()一下?”矛盾了,這說明在此子函數(shù)中不調(diào)用也行的。這只是看你在此處對打開的文件有沒有進(jìn)行相關(guān)數(shù)據(jù)的操作,有沒有在此確保數(shù)據(jù)的完整輸出。因?yàn)閟tdio庫會(huì)對數(shù)據(jù)進(jìn)行行緩沖,所以在必要的時(shí)候使用fclose()是有必要的。其實(shí),當(dāng)程序正常結(jié)束時(shí),會(huì)自動(dòng)對所有打開的文件流調(diào)用fclose()的。


查看完整回答
反對 回復(fù) 2019-03-14
?
翻翻過去那場雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

為了安全起見,最好是寫完一次操作就fclose,而且這種操作在fclose前是保存在緩沖區(qū)中,當(dāng)fclose后才會(huì)輸入到硬盤里,如果中途出了差錯(cuò),就會(huì)丟失操作。

查看完整回答
反對 回復(fù) 2019-03-14
  • 5 回答
  • 0 關(guān)注
  • 2370 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號