對於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很高興,如果這有幫助。 –