Re: [問題] FAT32與fseek()

看板Programming作者 (IWH68S0XZ8M89)時間18年前 (2007/11/14 23:52), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《bobhsiao (㊣小臃腫㊣)》之銘言: : 當: : AP執行:fseek(fp, 0, SEEK_END); //移到檔案尾端(可得檔案長度) : 底層:要找到該檔的最後一個CLUSTER,並記錄, : 以便 fread(), fwrite()...等函數可以順利執行 : 問題說明: : FAT的資料都是以CHAIN連接, 要找最後一個CLUSTER, : 也要 "從頭" 開始找, 當檔案很大時, 找越後面的 : CLUSTER也會越久. : 我的問題是: : 有什麼聰明的方法可以加快嗎? : 是不是在初始化時將整個FAT表讀完? 這已經是很底層的動作了... 我沒搞錯的話這一部份是BIOS在管的 除非你是自己去讀FAT (但一般PC應該不會有這種需求吧...?) 不然其實你就放心fseek下去就好了 其他的事情BIOS會幫你管的 (現在磁區規劃都做得讓cluster數不要太多 這樣找起來也方便 也不會停太久) -- 有人喜歡邊玩遊戲上逼; 也有人喜歡邊聽歌打字。 但是,我有個請求, 選字的時候請專心好嗎? -- 改編自「古 火田 任三郎」之開場白 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.91.5

11/14 23:57, , 1F
為了要讓板子(非pc)可以讀sd卡才有的需求
11/14 23:57, 1F

11/16 23:32, , 2F
嗯...的確是bios的中斷常式在作的
11/16 23:32, 2F
文章代碼(AID): #17EndDkj (Programming)
討論串 (同標題文章)
文章代碼(AID): #17EndDkj (Programming)