C++ write(); 反向写入给定的字节值
C++ write(); writes given byte value in reverse
目前正在编写一个程序,该程序打开一个文件,移动到给定的偏移量,然后更改偏移量的字节。
这是代码:
void write(int offset, int modifiedBytes) {
fstream Binary("path/to/file");
if(!Binary) {
cout << "File not found!";
}
Binary.seekg(offset); //Go to given position from the given binary file
Binary.write((char *)&modifiedBytes,4); //put modified bytes into the given position from above
}
然后我有一个单独的函数,如果需要,可以向其添加乘法内容:
void doInjection() {
write(0xfe,0x7047); //write 7047 to 0xfe
}
虽然它确实写入给定文件,但它反向写入7047
(4770
(。
我也尝试使用put();
而不是write
,但这允许我只使用 2 个字节,但它没有反向写入。
有人知道为什么它会反向写入我的给定值吗?
你正在做的一切都取决于 de 机器及其架构。 此外,根据 int 的大小,它可以意外地工作,这取决于 CPU 架构。
看看字节序
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 在UNIX系统中使用DIR查找文件的字节大小
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- std::当在256字节边界上写入整数时,流的奇怪行为
- 当比特(而不是字节)的顺序至关重要时的持久性
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 如何在文件中查找字节序列
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 字节到位运算符重载C++
- 在java中读取c++字节的位字段
- C++ write(); 反向写入给定的字节值
- 为什么 ofstream::write 在文件末尾添加额外的字节
- 在写入二进制文件时,“std::ofstream::write”有时会写入超出应有字节数的字节
- Ofstream::write写入额外的字节,尽管有显式的源数组
- 在写入二进制文件时,ofstream::write写入的字节数超过了应有的字节数
- 为什么 file.write() 不按照我给出的顺序存储字节?C++
- 当主线程在无限循环中运行时,用QTcpSocket::write写入的字节没有被服务器接收
- ostream::write实际写入了多少字节