[英]How to append binary file with a binary file in C++
我有两个二进制文件,我想附加一个。 我该怎么做?
std::ofstream outFile;
outFile.open( "file.bin", ? );
嵌套线应该是什么?
为此有一个衬板:
std::ofstream outFile("file.out", std::ios::ate );
std::ifstream inFile( "file.in" );
std::copy(
(std::istreambuf_iterator<char>(inFile)), // (*)
std::istreambuf_iterator<char>(),
std::ostreambuf_iterator<char>(outFile)
);
(*)多余的一对括号,以防止将其解析为函数声明。
为了获得更好的性能,您可以使用ifstream::read
文件,并使用ofstream::write
对其进行ofstream::write
。
这不是最佳选择,但是您可以尝试以下方法:
std::ofstream outFile( "file.bin", ios_base::app | ios_base::out );
std::ifstream inFile(source_file_name, ios_base::binary | ios_base::in);
source >> noskipws;
char c;
while (inFile >> c) {
outFile << c;
}
您可以通过使用更大的缓冲区来使其效率更高。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.