gpt4 book ai didi

c - 如何将 int 存储在由 malloc 分配的 char * 中

转载 作者:行者123 更新时间:2023-12-02 06:47:17 25 4
gpt4 key购买 nike

我试图将一个 int 值(所有 4 个字节)存储到 char * 中:

所以,我想将完整的值,即 int 变量的所有字节(全部 4 个)存储到 char 中,这样我就用完了 512 个字节中的 4 个字节。我还应该能够读回我分配的值。我尝试使用了很多东西,但无法弄清楚这一点。

这是我的 LFS(日志文件系统),我尝试使用数据碎片将文件存储到磁盘上的数据 block 中

char *c = malloc(512);
int value = 4096;

最佳答案

你可以复制到c指向的缓冲区:

memcpy(c, &value, sizeof(value));

如果你想在后面写入另一个值,你可以在c中添加偏移量:

memcpy(c + sizeof(value), &value2, sizeof(value2));  // adds value2 at an offset right after value

要读取该值,您可以将其复制到不同的变量中:

int readVal;
memcpy(&readVal, c, sizeof(readVal));

关于c - 如何将 int 存储在由 malloc 分配的 char * 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55422918/

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