c++ - c++ 将数据写入内存

标签 c++

我已经就此发布了一个问题,但我想改用 memcmp() 函数。 Writing data to memory in C++

int x = 1;
int fileptr = 0;
void *data = malloc(4096);
memcpy((int *)data+fileptr, &x, sizeof(int));

然后我读回这些值

int y;
fileptr = 0;
memcpy(&y, (int *)data+fileptr, sizeof(int));
cout<<y;

通过这种方式,我得到了变量 y(一些长整型值)的不同输出。请立即获得帮助。

最佳答案

您声明了一个指针 data 但从未对其进行初始化。所以行为是未定义的。您必须将 data 指向某处,即分配内存。参见 here .

关于c++ - c++ 将数据写入内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7801847/

相关文章:

c++ - 这两个 C++ 初始化器语法在语义上是否有所不同?

c++ - 为什么我的终止处理程序从未被调用?

c++ - 模拟模板化数据成员是否合适?

c++ - 使用 Visual Studio 链接第三方库

c++ - 从 C++ 调用 dll 函数

c++ - 编译模板函数时形式参数列表不匹配

c++ - Valgrind 说 malloc 内存损坏,还没有使用 malloc

c++ - '->' and '。'用于对对象的引用?

c++ - 平滑过渡到标准 3D View 方向

c++ - 使用点运算符触发强制转换运算符