Russian Qt Forum

Программирование => С/C++ => Тема начата: Alp от Ноябрь 24, 2009, 22:57



Название: Частичное копирование файлов через ifstream/ofstream
Отправлено: Alp от Ноябрь 24, 2009, 22:57
Есть для файла, открытые двумя потоками - на чтение и на запись. Надо часть файла (с позиции П, длиной Д) А скопировать в файл Б. Как это можно просто сделать без цикла "создать вектор-вычитать в вектор-записать куда надо"?


Название: Re: Частичное копирование файлов через ifstream/ofstream
Отправлено: niXman от Ноябрь 24, 2009, 23:10
Код
C++ (Qt)
int main() {
 
std::ifstream file_in("file_in.txt");
std::ofstream file_out("file_out.txt");
 
/** create the input iterator */
std::istream_iterator<char> from(file_in);
std::istream_iterator<char> to(file_in);
 
/** set starting position for reading */
std::advance(from, 1234);
 
/** set end position for reading */
std::advance(to, 4321);
 
/** copy the byte`s from 'from' to 'to' iterators */
std::copy(from, to, std::ostream_iterator<char>(file_out));
 
return 0;
}
 


Название: Re: Частичное копирование файлов через ifstream/ofstream
Отправлено: Alp от Декабрь 03, 2009, 13:09
Спасибо, оно!


Название: Re: Частичное копирование файлов через ifstream/ofstream
Отправлено: niXman от Декабрь 03, 2009, 17:22
...