Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2011, 14:31   #1
black_prog
Новичок
Джуниор
 
Регистрация: 25.03.2011
Сообщений: 3
Радость Копирование файла с заданой скоростью

Добрый день форумчане. Необходимо реализовать копирование большого файла , с заниженой скоростью копирования. Код написан на С++. Проблема заключаеться в следующем то, что конечный файл получаеться больше чем исходный. Как это можно по фиксить ? весь моск сломал.

#include <cstdio>
#include <stdio.h>
#include <Windows.h>
#include <iostream>
using namespace std;

int main()
{
FILE *fp;
FILE *ds;

// Открываем файл-источник
fp = fopen("D:\\Backup\\111.pdf", "rb");
if(fp == NULL)
{
fputs ("File error",stderr); exit (1);
}

// Открываем файл-приёмник
ds = fopen("D:\\Backup\\log.pdf", "wb");
if(ds == NULL)
{
fputs ("File error",stderr); exit (1);
}

const int LENGTH = 1048576;
char str[LENGTH];
while(!feof(fp))
{
// Читаем из файла-источника

fread(str, LENGTH, 1, fp);


// Записываем в файл-приёмник

fwrite(str, LENGTH, 1, ds);


// Задержка в 1 сек.
Sleep(1000);
}

// Закрываем файлы
fclose(fp);
fclose(ds);

return 0;
}
black_prog вне форума Ответить с цитированием
Старый 25.03.2011, 15:41   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

при чтении можно прочитать и не полный блок (таким наверняка будет последний блок).
соответственно и записывать надо ровно столько сколько прочитали последний раз.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 25.03.2011, 16:00   #3
black_prog
Новичок
Джуниор
 
Регистрация: 25.03.2011
Сообщений: 3
По умолчанию

т.е. необходимо реализовать подпрограмму которая отслеживала бы, конец файла и в блок const int LENGTH подставляла бы конечное число байт ? извращенство полное, а по проще мона как не будь

Последний раз редактировалось black_prog; 25.03.2011 в 16:10.
black_prog вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование файла Blad47 Общие вопросы C/C++ 8 30.11.2010 22:13
Копирование файла Skorpion555 Общие вопросы Delphi 2 01.10.2010 18:28
копирование из файла Hodor Microsoft Office Excel 3 01.09.2010 23:56
копирование файла zmeyy Общие вопросы Delphi 6 08.06.2009 02:54
Копирование файла в VB Julia_Lisha Помощь студентам 0 10.05.2009 15:55