2013-03-22 108 views
-3

我想在運行它之前替換文件中的字節序列,例如3B 01 40 3F到00 00 10 3F。 我在Google尋找解決方案,但只有C#答案。替換二進制文件中的字節序列C++

Replace sequence of bytes in binary file

預先感謝幫助。

+2

那麼到目前爲止你做了什麼?對我來說,這不是一個非常難解決的問題 - 只需逐字節讀取文件,與您的序列進行比較[您可能需要一個狀態機來跟蹤您所在的序列中的哪個位置],然後將修改的字節寫入輸出文件。 – 2013-03-22 15:24:03

回答

0

C#答案也應該在這裏工作。

void replace(long pos, std::string filename, std::string replacement) 
{ 
    std::ofstream out(filename.c_str()); 
    out.seekp(pos); 

    out.write(replacement.c_str(), replacement.size()); 
} 
+0

我認爲這個解決方案創建一個零填充文件,除了在文件末尾的替換字節。 – user3717478 2018-02-23 12:55:50