C++ DWORD到char*的转换

C++ DWORD到char*的转换,c++,C++,我想问一下为什么我必须使用&buffer而不是buffer,为什么我要将地址传递给reinterpret cast或类型转换。谢谢 DWORD buffer; std::ifstream openFile("xxxxx",std::ios::in|std::ios::binary); std::ofstream writeFile("xxxxx",std::ios::out|std::ios::binary); while(!openFile.eof()) { openFile.re

我想问一下为什么我必须使用&buffer而不是buffer,为什么我要将地址传递给reinterpret cast或类型转换。谢谢

DWORD buffer;
std::ifstream openFile("xxxxx",std::ios::in|std::ios::binary);
std::ofstream writeFile("xxxxx",std::ios::out|std::ios::binary);


while(!openFile.eof())
{
    openFile.read(reinterpret_cast<char*>(&buffer),sizeof(DWORD));
    writeFile.write((char *)&buffer,sizeof(DWORD));
}
DWORD缓冲区;
std::ifstream openFile(“xxxxx”,std::ios::in | std::ios::binary);
std::of流写文件(“xxxxx”,std::ios::out | std::ios::binary);
而(!openFile.eof())
{
read(reinterpret_cast(&buffer),sizeof(DWORD));
writeFile.write((char*)和buffer,sizeof(DWORD));
}
退房。你所拥有的是一个变量,准备一个<代码>和代码>来告诉C++你想引用你的数据地址位置(称为数据指针)。这是创建高效代码的有效方法,因为在将数据传递给函数时不必复制数据,只需告诉函数它所在的位置,以便它可以根据需要引用它


Cheers

读取和写入方法需要指向内存的指针来存储/检索数据,因此必须传递
缓冲区的地址。OT: