#include <iostream>
#include <fstream>
int main() {
std::ifstream inputFile("input.txt", std::ios::binary);
std::ofstream outputFile("output.txt", std::ios::binary);
if (!inputFile.is_open() || !outputFile.is_open()) {
std::cout << "Error opening files!" << std::endl;
return 1;
}
inputFile.seekg(0, std::ios::end);
std::streampos fileSize = inputFile.tellg();
inputFile.seekg(0, std::ios::beg);
char* fileBuffer = new char[fileSize];
inputFile.read(fileBuffer, fileSize);
outputFile.write(fileBuffer, fileSize);
delete[] fileBuffer;
inputFile.close();
outputFile.close();
std::cout << "File copied successfully!" << std::endl;
return 0;
}
这段代码打开了一个输入文件input.txt和一个输出文件output.txt,并使用fseek实现了文件复制的功能。首先获取输入文件的大小,然后创建一个大小相同的缓冲区,将输入文件中的内容读取到缓冲区中,最后将缓冲区中的内容写入到输出文件中。最后关闭输入文件和输出文件,并输出复制成功的消息。