我正在尝试创建一个代码来读取向量中的二进制文件,然后多次复制该向量的内容。
为此目的,我使用istreambuf向量来初始化它。然后使用std :: copy函数将其复制到ostream对象。
//#include headers...
using namespace std;
int main()
{
ifstream input("some/file/", ifstream::binary);
ofstream output;
vector<char> buffer (istream_iterator<char>(input), istream_iterator<char>( ));
for (int i=0; i<100; ++i)
{
string file_name = "/some/name";
output.open (file_name.c_str(), ofstream::binary);
copy( buffer.begin(), buffer.end(), std::ostream_iterator<char>(output));
output.close();
}
}
但编译器会出现错误:
请求'缓冲区'中的成员'begin',它是非类型的'std :: vector(std :: istream_iterator,std :: istream_iterator(*)())
我该如何解决这个问题?还有其他办法吗?