使用C+;修改保存文件的字节(十六进制?)+; 对不起,我在这个网站上读过很多问答,因为我基本上只是从C++开始,只在C和java中编码过。 我有一个保存文件,通过一个十六进制编辑程序,我找到了一个修改活动保存难度的值;
突出显示的“00”值是我希望更改的值,我已经看到了示例,但没有任何我完全理解的内容可以操作使用C+;修改保存文件的字节(十六进制?)+; 对不起,我在这个网站上读过很多问答,因为我基本上只是从C++开始,只在C和java中编码过。 我有一个保存文件,通过一个十六进制编辑程序,我找到了一个修改活动保存难度的值; ,c++,C++,突出显示的“00”值是我希望更改的值,我已经看到了示例,但没有任何我完全理解的内容可以操作 std::ofstream ofs ("/text.txt", std::ofstream::out);//("/JKSV/Saves/Fire_Emblem__Awakening/hack/", std::ofstream::out); //Edit item at 0000000D '00' to '01' ofs.close(); 我知道我的问题,对C++有正确认识的人是非
std::ofstream ofs ("/text.txt", std::ofstream::out);//("/JKSV/Saves/Fire_Emblem__Awakening/hack/", std::ofstream::out);
//Edit item at 0000000D '00' to '01'
ofs.close();
<>我知道我的问题,对C++有正确认识的人是非常微不足道的,但它对我来说还是很新的, 你需要打开文件,这样I/O库就限制了对特殊字符的解释。
fstream binaryFile("txt.txt", ios::in | ios::out | ios::binary);
您可能需要检查中的可用函数
到要修改字节值的位置:
binaryFile.seekp(0x0D/*offsetToWrite*);
binaryFile << char(0x01/*ValueToReplace*/);
写入字节值:
binaryFile.seekp(0x0D/*offsetToWrite*);
binaryFile << char(0x01/*ValueToReplace*/);
binaryFile您需要在中打开该文件,以便i/o库限制对特殊字符的解释
fstream binaryFile("txt.txt", ios::in | ios::out | ios::binary);
您可能需要检查中的可用函数
到要修改字节值的位置:
binaryFile.seekp(0x0D/*offsetToWrite*);
binaryFile << char(0x01/*ValueToReplace*/);
写入字节值:
binaryFile.seekp(0x0D/*offsetToWrite*);
binaryFile << char(0x01/*ValueToReplace*/);
binaryFile如何识别要更改的字节?需要修改的任何特定偏移量?在整个文件中有需要替换的模式吗?第一个00要替换为01?它每次都在同一位置,突出显示的“00”,它总是在“78 02 00”之后,因此要替换偏移量0x0D处的值?请尝试从开始。这里有一些函数,你真的需要开始阅读。是的,这是正确的@bashrc和Captain Obvlious现在检查一下,thanksHow,你确定要更改哪个字节了吗?需要修改的任何特定偏移量?在整个文件中有需要替换的模式吗?第一个00要替换为01?它每次都在同一位置,突出显示的“00”,它总是在“78 02 00”之后,因此要替换偏移量0x0D处的值?请尝试从开始。这里有一些函数,你真的需要开始阅读。是的,这是正确的@bashrc和Captain Obvlious现在检查一下,谢谢你,我相信它起作用了,你是如何做到的。我确实找到了seekp函数,但由于它是非二进制的,所以我不确定它是否适用或如何编写,非常感谢!太棒了,我相信它起作用了,你是怎么做到的也很有道理。我确实找到了seekp函数,但由于它是非二进制的,所以我不确定它是否适用或如何编写,非常感谢!