[問題] 找出檔案變動的部份

看板C_and_CPP作者 (知道越多了解越少)時間13年前 (2010/12/02 17:14), 編輯推噓4(4012)
留言16則, 4人參與, 最新討論串1/1
請問各位前輩 假設我手邊有個檔案A(不限格式,就算只是單純如txt、bmp檔案也可以) 如果檔案有部分內容變動,變動後的檔案為B A、B之間的差異可能是『增加』、『減少(刪去)』、『替換』部分內容, 請問有什麼方式可以簡單抓出變動的部份嗎? ===== 更詳細的解釋 ===== (可能有很簡單的解決方法,只是我不是程式相關領域的,所以一直想不到.....) 如果把一個檔案劃分成很多小塊,用tag或是一些特殊字串來區隔, 在檔案被變動後,我要分辨出其中哪些區塊有被動到? 因為檔案大小可能會改變,所以也不能用記錄位址的方式解決 請各位前輩能提點一下,或是給我一點關鍵字,讓我能去找一下相關的資訊 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.251.151

12/02 17:33, , 1F
Linux底下的話可以用diff指令去抓
12/02 17:33, 1F

12/02 17:39, , 2F
感謝 剛查了一下 的確是有幫助! (不過不知道C/C++有
12/02 17:39, 2F

12/02 17:39, , 3F
有類似的,不然就要想辦法自己寫了 QQ)
12/02 17:39, 3F

12/02 17:40, , 4F
^沒
12/02 17:40, 4F

12/02 18:05, , 5F
我認為不簡單,很多商業軟體就是靠核心技術這吃飯
12/02 18:05, 5F

12/02 18:06, , 6F
要看你要求的品質到什麼程度
12/02 18:06, 6F

12/02 20:43, , 8F
謝謝 這網站好像資料挺多的 (其實我品質要求不高啦,只
12/02 20:43, 8F

12/02 20:44, , 9F
是可能要跑個模擬,大約估算一下這種模式可以節省多少)
12/02 20:44, 9F

12/02 20:51, , 10F
如果你的需求可以簡化、類比成,檔案的一塊是一個字串陣列
12/02 20:51, 10F

12/02 20:51, , 11F
只需要知道兩塊陣列有無差異,來判斷是否變動。那簡單的
12/02 20:51, 11F

12/02 20:52, , 12F
迴圈循序讀取每隔字元,確認有無相異存在即可
12/02 20:52, 12F

12/02 22:44, , 13F
這..UltraEditor 強大功能之一,PSPad不知有無開放源碼
12/02 22:44, 13F

12/02 23:16, , 14F
12/02 23:16, 14F

12/02 23:31, , 15F
感謝 p 大!!
12/02 23:31, 15F

12/03 18:47, , 16F
有找到一個軟體叫DiffMerge,免費但非GPL,讓大家參考
12/03 18:47, 16F
文章代碼(AID): #1CzsDxUE (C_and_CPP)