gpt4 book ai didi

c++ - 如何通过c++文件函数读写8位整数单元形式的数据

转载 作者:行者123 更新时间:2023-11-28 02:43:22 28 4
gpt4 key购买 nike

是否有可能以从 0 到 255 的整数形式而不是 8 位字符的形式存储数据。虽然两者是同一件事,但我们如何才能做到这一点,例如,使用 write() 函数?是否可以直接将任何整数转换为 char,反之亦然?做类似的事情

{
int a[1]=213;
write((char*)a,1);
}

{
int a[1];
read((char*)a,1);
cout<<a;
}

努力从文件中的相同位置获取 213?它可能在那台计算机上工作,但它是否便携,换句话说,它是否适合跨平台项目?如果我使用这个原则为每个游戏关卡创建一个文件格式(它将对象的坐标存储在当前关卡的文件中),它是否可以在其他计算机/系统/平台上运行以加载相同的关卡?

最佳答案

您显示的代码将写入 a[0] 的对象表示的第一个(最低地址)字节 - 它可能是也可能不是值为 213< 的字节int 的特定对象表示是实现定义的。

213 的值写入一个字节的可移植方式是

unsigned char c = a[0];
write(&c, 1);

关于c++ - 如何通过c++文件函数读写8位整数单元形式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25190587/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com