繁体   English   中英

如何在C ++中用二进制文件附加二进制文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM