Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将二进制读入十六进制字节数组_C++_Arrays - Fatal编程技术网

C++ 将二进制读入十六进制字节数组

C++ 将二进制读入十六进制字节数组,c++,arrays,C++,Arrays,如何逐字节读取文件并将每个字节以十六进制形式保存在数组中? 所以看起来是这样的: unsigned char binaryData[10] = { 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x4B }; 提前感谢 < P>我认为问题应该已经措辞:“我如何将二进制数据转换为定义包含相同数据的数组的C++源代码。” 我想你会想知道的 xxd -i file.bin 对于上述降价,它将发出: unsigned char f

如何逐字节读取文件并将每个字节以十六进制形式保存在数组中? 所以看起来是这样的:

unsigned char binaryData[10] = {
    0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x4B
};

提前感谢

< P>我认为问题应该已经措辞:“我如何将二进制数据转换为定义包含相同数据的数组的C++源代码。” 我想你会想知道的

xxd -i file.bin
对于上述降价,它将发出:

unsigned char file_bin[] = {
  0x49, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x20, 0x79, 0x6f, 0x75, 0x20,
  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f,
  0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x0a,
  0x0a, 0x20, 0x20, 0x20, 0x20, 0x78, 0x78, 0x64, 0x20, 0x2d, 0x69, 0x20,
  0x66, 0x69, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x6e, 0x0a
};
unsigned int file_bin_len = 57;

我认为这个问题应该已经措辞了:“我如何将二进制数据转换成定义包含相同数据的数组的C++源代码。” 我想你会想知道的

xxd -i file.bin
对于上述降价,它将发出:

unsigned char file_bin[] = {
  0x49, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x20, 0x79, 0x6f, 0x75, 0x20,
  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f,
  0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x0a,
  0x0a, 0x20, 0x20, 0x20, 0x20, 0x78, 0x78, 0x64, 0x20, 0x2d, 0x69, 0x20,
  0x66, 0x69, 0x6c, 0x65, 0x2e, 0x62, 0x69, 0x6e, 0x0a
};
unsigned int file_bin_len = 57;

将每个字节以十六进制形式保存在数组中
这是什么意思?
std::ifstream在{“file”,std::ios::binary}?因此我可以读取可执行文件并将其保存在字节数组中。内存中的字节不是“十六进制形式”——这只是显示值的一种方式。您可以将数据读入字节数组,然后将字节数组转换为十六进制字符串并打印该字符串。请注意安全隐患。这是字面上的RCE,确保您知道如果不计后果地忽视安全性,您可能面临的影响和责任索赔。
将每个字节以十六进制形式保存在数组中
这是什么意思?
std::ifstream in{“file”,std::ios::binary}?因此我可以读取可执行文件并将其保存在字节数组中。内存中的字节不是“十六进制形式”——这只是显示值的一种方式。您可以将数据读入字节数组,然后将字节数组转换为十六进制字符串并打印该字符串。请注意安全隐患。这是字面上的RCE,确保您知道如果对安全存在鲁莽忽视,您可能面临的影响和责任索赔。