五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C語言常見小錯誤- wb+ 讀取失敗

2022-08-11 08:26 作者:鳧水億  | 我要投稿

wb+ 文件打開模式的一種,表示以文件處于?二進制讀寫?模式

C 語言是一門簡單但復(fù)雜的語言,這話聽起來可不矛盾。C 語言語法簡單,容易上手,但越學(xué)越覺得難,要求編程者擁有較強的邏輯能力,龐大的 C 語言基礎(chǔ)知識儲備,同時還要有一定的英語基礎(chǔ)( 查詢英文文檔或閱讀外國網(wǎng)友解決bug的辦法?),以及——無處不在的細節(jié)!

如果你正在寫一個項目,可能遭遇過被 wb+ 折磨的時刻,特別是調(diào)試代碼的時候,你會覺得是不是自己學(xué)了個假 C 語言。以上的問題所在,全都是一個原因,沒有閱讀官方文檔,在 C 17 草案中,發(fā)現(xiàn)了一個關(guān)鍵信息:

關(guān)鍵信息


Note that a file positioning function may further modify the file position indicator after discarding any pushed-back characters.

注意:在丟棄任何 推回(pushed-back) 字符之后,文件定位函數(shù)可能進一步修改文件位置標識(indicator)。

前半句看不懂沒關(guān)系,因為我也不懂,后半句看懂就可以了——“文件定位函數(shù)可能進一步修改文件位置標識”。結(jié)合原文給出的信息,我得到一個假設(shè):一般情況下寫入文件后,文件標識 (indicator)被移動到了末尾,假如使用 fread()進行讀取,那什么也得不到。

讀取錯位


廢話不多說,我們使用生成臨時文件函數(shù) tmpfile()?[<stdlib.h>] 作為講解目標。第一步,使用 tmpfile() 得到一個臨時文件,然后寫入一些數(shù)據(jù);第二步,使用 fread() 函數(shù)讀取文件內(nèi)容;

結(jié)果為:

結(jié)果顯示,寫入數(shù)據(jù)后,indicator 確實位于末尾處,那么使用 fread() 確實也什么得不到。

我們將 indicator 移動到文件首部,然后再試一遍。rewind()?[<stdlib.h>]?函數(shù),作用是將位置移動到首部。

結(jié)果表明確實如此:

通過測試,發(fā)現(xiàn)假設(shè)與實際情況吻合(確信)。所以操作文件時,一定要注意 indicator 處于的位置。否則,鬧出笑話,可不好了~


C語言常見小錯誤- wb+ 讀取失敗的評論 (共 條)

分享到微博請遵守國家法律
吴川市| 金乡县| 奎屯市| 夏河县| 满洲里市| 溧阳市| 宣化县| 师宗县| 洮南市| 南岸区| 荆门市| 宁陵县| 临邑县| 连平县| 永州市| 弥勒县| 雷山县| 丰镇市| 英超| 简阳市| 洪洞县| 通州区| 平远县| 大连市| 阿合奇县| 沅江市| 海盐县| 招远市| 岳阳市| 调兵山市| 延边| 广德县| 仪征市| 周宁县| 利川市| 定西市| 吴桥县| 错那县| 汤原县| 寻甸| 商水县|