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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

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

5 回答

?
慕哥9229398

TA貢獻1877條經(jīng)驗 獲得超6個贊

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

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

TA貢獻1770條經(jīng)驗 獲得超3個贊

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



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

TA貢獻2036條經(jīng)驗 獲得超8個贊

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

或者你

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


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

TA貢獻2065條經(jīng)驗 獲得超14個贊

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

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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