gpt4 book ai didi

c++ - 我无法复制整个二进制文件

转载 作者:搜寻专家 更新时间:2023-10-31 00:43:31 24 4
gpt4 key购买 nike

    ifstream ifile("/home/zuma/xps.mp3", ios::binary | ios::in);
ofstream ofile("/home/zuma/xxx.mp3", ios::binary | ios::out);

copy(istream_iterator<unsigned char>(ifile), istream_iterator<unsigned char>(), ostream_iterator<unsigned char>(ofile));

ifile.close();
ofile.close();

创建的新文件比原来的文件字节少&文件不匹配

最佳答案

istream_iterator 使用 operator>>,它是用空格分隔的(不,以二进制模式打开文件不会改变此行为)。请改用 istreambuf_iterator

istreambuf_iterator<char> in1(ifile), in2;
ostreambuf_iterator<char> out(ofile);
copy(in1, in2, out);

或者,正如 ildjarn 提到的,您可以用更少的输入复制整个文件:

ofile << ifile.rdbuf();

关于c++ - 我无法复制整个二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com