我想将大量信息逐位存储到一个块中,并将其保存到一个文件中。
为了让我的文件不那么大,我想使用少量位来保存指定的信息而不是 int。
例如,我想将 Day、Hour、Minute 存储到文件中。
我只想要 5 位(天)+ 5 位(小时)+ 6 位(分钟)= 16 位内存用于数据存储。
我找不到一种有效的方法将它存储在一个块中以放入文件中。
我担心有一些大问题:
我每次要存储的数据长度不是恒定的。这取决于传入的信息。所以我不能使用结构来存储它。
我的块中不能有任何未使用的位,我搜索了一些主题,其中提到如果我将 30 位存储在一个 int(4 字节变量)中,那么我保存的下一个 3 位将自动进入下一个 int。但我不希望它发生!
我知道我可以使用右移,左移将数字放入字符,并将字符放入块中,但效率低下。
我想要一个 char 数组,我可以继续将指定的位放入其中,并使用 write 将其放入文件中。