对于C++中的个人项目,我一直在考虑保存二进制文件中的一些数据。我对谷歌做了一些研究,发现了几种这样做的方法,或多或少归结为同一件事。然而,我不能为了我的生活得到读或写方法正常工作。我写的任何价值,我都会有所不同。我对此进行了广泛的搜索,并查看了StackOverflow,并且我还没有真正找到解决方案,所以我开始认为我必须忽视某些东西,但我不能为了我的生活而弄清楚什么。将unsigned int转换为字节数组并返回
以下两种方法用于读取和写入未签名的short。
unsigned short ReadUShort(std::ifstream& ifs)
{
unsigned char buffer[2];
ifs.read((char*)buffer, 2);
unsigned short val = (buffer[0] << 8) | buffer[1];
return val;
}
void WriteUShort(std::ofstream& ofs, unsigned short val)
{
unsigned char buffer[2];
buffer[0] = (val & 0xff);
buffer[1] = ((val >> 8) & 0xff);
ofs.write((char*)buffer, 2);
}
非常感谢您提供任何帮助。
这个技巧就好了。你是救生员。 –
@RenegadeVile很高兴,如果这有帮助。 –