#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實現了文件復制的功能。首先獲取輸入文件的大小,然后創建一個大小相同的緩沖區,將輸入文件中的內容讀取到緩沖區中,最后將緩沖區中的內容寫入到輸出文件中。最后關閉輸入文件和輸出文件,并輸出復制成功的消息。