我正在用C++写一个非常简单的程序,将 bootstrap 从一个文件复制到另一个文件。我的代码是:
#include <fstream>
int main ()
{
char buffer[512];
std::fstream myfile ("boot.bin", std::ios::binary || std::ios::in);
myfile.seekg(0);
myfile.read(buffer, 512);
myfile.close();
myfile.open("boot.img", std::ios::binary || std::ios::out);
myfile.seekp(0);
myfile.write(buffer, 512);
myfile.close();
return 0;
}
但是,当我尝试编译时,出现错误:
我已经搜索了这个错误,但是我只找到了对我不起作用的解决方案。奇怪的是,如果我重建解决方案(Build> Rebuild Solution或CTRL + ALT + F7),我能够编译代码。当我正常编译时,我得到的是“构建失败”(如果这是重建后的第一个构建),或者是“构建成功”(如果我改变了一些东西)。
另外,生成的可执行文件似乎不起作用。这个想法是将前512个字节从boot.bin复制到boot.img。字节似乎可以正确读取(我在代码中放入了“cout <
最佳答案
std::ifstream myfile("boot.bin", std::ios::binary || std::ios::in);
是“||”允许吗?
与...核对
“|”单管
std::ifstream myfile("boot.bin", std::ios::binary | std::ios::in);