C++ 从文件C+;以相反顺序读取的字节+;
我想从二进制文件中提取一个无符号整数 以下是我编写的代码:C++ 从文件C+;以相反顺序读取的字节+;,c++,file,endianness,C++,File,Endianness,我想从二进制文件中提取一个无符号整数 以下是我编写的代码: std::ifstream是(路径,std::ios::in | std::ios::binary); uint32_t计数; is.read((char*)和count,4); std::奇怪的是,你知道的足够多,可以用endianess来标记你的问题,但你不知道这个概念完全解释了你的问题。反转字节是您必须做的。@john我在问是否有办法让std::ifstream反转字节本身,即以相反的顺序读取字节。我发现,如果有一种方法可以让每个
std::ifstream是(路径,std::ios::in | std::ios::binary);
uint32_t计数;
is.read((char*)和count,4);
std::奇怪的是,你知道的足够多,可以用endianess
来标记你的问题,但你不知道这个概念完全解释了你的问题。反转字节是您必须做的。@john我在问是否有办法让std::ifstream反转字节本身,即以相反的顺序读取字节。我发现,如果有一种方法可以让每个整数从表中向后读取,那么在后面反转每个整数就太过分了start@Sinder它如何知道要反转哪些字节?它应该反转前两个字节吗?前七个字节?前23个字节?@Sinder不,没有办法让ifstream为你反转字节。好的,我明白你的意思了。谢谢你,我将继续使用ntohl()
函数,奇怪的是,你知道的足够多,可以用endianess
标记你的问题,但不知道这个概念完全解释了你的问题。反转字节是您必须做的。@john我在问是否有办法让std::ifstream反转字节本身,即以相反的顺序读取字节。我发现,如果有一种方法可以让每个整数从表中向后读取,那么在后面反转每个整数就太过分了start@Sinder它如何知道要反转哪些字节?它应该反转前两个字节吗?前七个字节?前23个字节?@Sinder不,没有办法让ifstream为你反转字节。好的,我明白你的意思了。谢谢,我将继续使用ntohl()
函数