健全、安全、効率的な方法でファイルをコピーする
ファイルをコピーするときは、ファイルのコピーを維持する方法で行うことが重要です。データの完全性とセキュリティ。以下に、信頼できるメソッドをいくつか示します。
#include <fstream> int main() { std::ifstream source("from.ogv", std::ios::binary); std::ofstream dest("to.ogv", std::ios::binary); dest << source.rdbuf(); }
このメソッドは、rdbuf() メソッドを利用してコンテンツを直接コピーします。ファイルの。
#include <unistd.h> #include <fcntl.h> int main() { int source = open("from.ogv", O_RDONLY); int dest = open("to.ogv", O_WRONLY | O_CREAT | O_TRUNC); char buf[BUFSIZ]; int bytesRead; while ((bytesRead = read(source, buf, BUFSIZ)) > 0) { write(dest, buf, bytesRead); } close(source); close(dest); }
このアプローチでは、ファイル操作のために低レベルのシステム呼び出しを利用します。
#include <sys/sendfile.h> int main() { int source = open("from.ogv", O_RDONLY); int dest = open("to.ogv", O_WRONLY | O_CREAT | O_TRUNC); struct stat stat_source; fstat(source, &stat_source); sendfile(dest, source, 0, stat_source.st_size); close(source); close(dest); }
このメソッドは、データのコピーを直接オフロードします。
#include <boost/filesystem.hpp> int main() { boost::filesystem::copy_file("from.ogv", "to.ogv"); }
このライブラリは、効率的にファイルをコピーするための特殊な関数を提供します。
方法を選択するときは、次のような要素を考慮してください。
間違い避けてください:
最適なファイル コピー方法は特定の要件によって異なることに注意してください。ニーズに最適なソリューションを見つけるには、さまざまなアプローチのベンチマークとテストを行うことをお勧めします。
以上がファイルを効率的かつ安全にコピーするための最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。