短: 我想按字节顺序将数据字节写入文件。 使用file.write将数据传输到文件。 但是当我使用hexdump查看文件时,写入的数据不是按顺序排列的。
这是我的代码:
#include <iostream>
#include <fstream>
#include <stdint.h>
int main() {
// array with four bytes I want to write
// This should be 0x01020304 in memory
char write_arr[4]={1,2,3,4};
// int with four bytes I want to write
// I use little endian so this should be 0x04030201 in memory
int write_num=0x01020304;
std::ofstream outfile;
outfile.open("output.txt",std::ios::out | std::ios::binary | std::ios::trunc);
if( outfile.is_open() ) {
outfile.write( write_arr ,sizeof(write_arr)/sizeof(char) );
outfile.write( reinterpret_cast<char *>(&write_num),sizeof(write_num) );
outfile.close();
}
return 0;
}
当我在输出上使用hexdump时,它会显示:
0201 0403 0304 0102
字节已重新排列。
我希望输出为:
0102 0304 0403 0201
为什么重新安排会发生?
如何实现字节顺序传输?
答案 0 :(得分:1)
hexdump转储2个字节的字;不是个人角色。 这让你感到困惑 - 试试
entry: [
'babel-polyfill',
path.join(__dirname, '../src/index')
],