我一直在我目前正在进行的一个项目中进行一些文件IO,到目前为止,我已经使用以下快速方便的方法读取了整个数据块:
struct Header { ... };
class Data { ... };
// note that I have not used compiler directives to pack/align/order bytes
// partly because I don t know how to.
Header _header;
Data _data;
std::ifstream fin(filename);
fin.read((char*)&_header, sizeof(Header));
fin.read((char*)&_data, sizeof(Data));
fin.close();
我的问题是,对于每台编译器和每台不同的计算机,假设字节以相同的方式对齐和排序是否可以?
例如,如果我采用Header结构,在linux上编译一个客户端程序,在windows上编译一一个服务器程序。字节的顺序是否相同,这样就不会出现双向接收和发送问题?