DWORD转换为char *

时间:2013-09-29 23:22:42

标签: c++

我想问为什么我必须使用&缓冲区而不仅仅是缓冲区,为什么我要通过地址重新解释强制转换或类型转换。感谢。

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));
}

1 个答案:

答案 0 :(得分:1)

结帐this pointers reference。你所拥有的是一个变量,在&前加上告诉c ++你要引用数据的地址位置(称为数据指针)。这是创建高效代码的有效方法,因为您不必在将数据传递给函数时复制数据,只需告诉函数它所在的位置,以便它可以根据需要引用它。

干杯