我希望能夠使用C++編輯二進制文件的內容,並將所有內容刪除至特定的字符位置,我已經知道它有點像從文件中刪除標題。從文件中刪除標題
我有一個示例文件包含130萬字節,我想刪除第一個38400,然後將文件保存爲原始名稱。
目前,我一直在做一個緩衝讀取,以找到每個文件的位置(剪切文件的位置的規則是複雜的,它不是一個簡單的搜索),當然,我可以做另一個緩衝區從pos讀取,輸出到一個新的文件,然後做一個重命名,或沿着這些線。
但它感覺非常沉重,必須複製整個文件。有沒有什麼辦法可以讓操作系統(Windows Vista &只能向上 - 不需要跨平臺)來重新定位文件的開始,並回收那些38,400字節?唉,我無法找到,因此爲什麼我會問你的幫助:)
非常感謝你提供的任何幫助。
複製整個文件花費的時間太長? – willj
它沒有超出我的預期,但有些文件超過2GB,因此也不是很小。無論如何,非常感謝你的幫助。非常感謝:) – niemiro
我剛剛發現一些進一步的解釋,爲什麼它沒有實現:http://blogs.msdn.com/b/oldnewthing/archive/2010/12/01/10097859.aspx – niemiro