Russian Qt Forum
Ноябрь 01, 2024, 06:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Частичное копирование файлов через ifstream/ofstream  (Прочитано 5010 раз)
Alp
Гость
« : Ноябрь 24, 2009, 22:57 »

Есть для файла, открытые двумя потоками - на чтение и на запись. Надо часть файла (с позиции П, длиной Д) А скопировать в файл Б. Как это можно просто сделать без цикла "создать вектор-вычитать в вектор-записать куда надо"?
Записан
niXman
Гость
« Ответ #1 : Ноябрь 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;
}
 
« Последнее редактирование: Декабрь 03, 2009, 17:25 от niXman » Записан
Alp
Гость
« Ответ #2 : Декабрь 03, 2009, 13:09 »

Спасибо, оно!
Записан
niXman
Гость
« Ответ #3 : Декабрь 03, 2009, 17:22 »

...
« Последнее редактирование: Декабрь 03, 2009, 17:26 от niXman » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.117 секунд. Запросов: 21.