代码
int main(int argc, char* argv[])
{
std::ifstream ifs(R"(D:\cppDemo\test\有道云笔记-7.2.183.exe)", std::ifstream::binary);
if(ifs){
ifs.seekg(0, std::ifstream::end);
auto size = ifs.tellg(); //获取指定文件的大小
ifs.seekg(0, std::ifstream::beg);
char *data = new char[size]{}; //开辟对应大小的内存记住{}很重要它让开辟的内存里面存放的内存都是'\0',否则将会导致随机初始化
ifs.read(data, size);
ifs.close(); //及时关闭文件
std::ofstream ofs(R"(D:\cppDemo\test\有道云笔记-7.2.183-copy.exe)", std::ofstream::trunc | std::ofstream::binary);
if(ofs){
ofs.write(data, size);
ofs.close(); //及时关闭文件
}
delete []data; //以数组的方式delete
data = nullptr;
}else{
std::cout << "open file failed" << std::endl;
}
return 0;
}
4315

被折叠的 条评论
为什么被折叠?



