gpt4 book ai didi

c++ - 读取/写入 void* 变量的单个字节

转载 作者:搜寻专家 更新时间:2023-10-31 00:13:51 25 4
gpt4 key购买 nike

如果我有

void *temp = malloc(128);
memset(temp, 0 , 128);

我想单独读取第一个字节,下面是我正在做的。

char a[2];
strncpy(a, (char*)temp, 1);
int p = a[0];
//p will be zero in this case

Q1. 我确信有一种更优雅的方法可以实现同样的目的。如果是,那会是什么?

Q2.有什么方法可以单独改变那个单个字节的值吗?

假设我希望第一个字节的值等于 int 值 48(即 00110000)我该怎么做?我在写作方面没有取得任何进展。

最佳答案

你可以把它转换成char *然后访问内存

char *buff = temp;
char p = buff[0]; // read first byte

关于c++ - 读取/写入 void* 变量的单个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25418442/

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