我已经就此发布了一个问题,但我想改用 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/