Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
yumik
2 / 2 / 0
Регистрация: 11.11.2009
Сообщений: 28
#1

Программа копирования файла - C++

07.04.2010, 21:53. Просмотров 3139. Ответов 4
Метки нет (Все метки)

написать программу копирования файла в двойном экземпляре.Чтение файла происходит блоками.Обработать ошибки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2010, 21:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа копирования файла (C++):

Программа копирования файла с удвоением пробелов C++ - C++
Помогите пожалуйста доделать программу. Нужно написать программу копирования файлов с удвоением пробелов. Смогла написать только...

Написать программу копирования файла. В конец каждой строки файла дописать количество пробелов в строке - C++
Чтение происходит блоками. Обработать ошибки Я пока просто смогла скопировать один файл в другой, а как добавить количество пробелов...

Программа поиска и копирования данных - C++
Ребят, помааагите...:help: Через 3 дня наступит авраал.:rtfm: Зачет по С++]:-> Помогите с написанием программы:wall: 1.открывает файл ...

Программа с защитой от несанкционированного копирования - C++
Необходимо написать программу на C++, которая защищала бы сама себя от несанкционированного копирования с CD-диска с привязкой к CD-ROM. У...

Ошибка копирования файла - C++
Здравствуйте. Никак не могу скопировать файл. { char * buffer; int len = 10240; ifstream...

Написать программу копирования файла с заменой пробелов на символ |. - C++
Программа, которая открывает файл txt и заменяет пробелы на знак " \ ". Можно запись в другой файл.

4
yumik
2 / 2 / 0
Регистрация: 11.11.2009
Сообщений: 28
12.04.2010, 20:02  [ТС] #2
у кого какие мысли по данной программе?
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
13.04.2010, 09:12 #3
Что значит "в двойном экземпляре" ?

Взять исходники программы "cp" из Linux/FreeBSD/UNIX.
0
Hell Knight
230 / 60 / 3
Регистрация: 11.03.2010
Сообщений: 290
13.04.2010, 09:27 #4
ну для windows подойдет CopyFile()
0
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
13.04.2010, 10:36 #5
Мысли такие:
1. Открываешь файл для чтения.
2. Организовываешь буфер копирования размером в один блок (например, 16Кб). Так если файл будет 3Гб, то его не придется целиком заталкивать в память.
3. Создаешь файл-копию.
4. Последовательно блок за блоком через буфер копируешь файлы.

Добавлено через 20 минут
То есть примерно вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <fstream>
#include <string>
 
int main()
{
    // Размер буфера 
    const int buf_size = 15638;
 
    // Имя исходного файла
    std::string src_file = "file.txt";
    std::string out_file = "file_copy.txt";
    
    // Создание потока для работы с исходным файлом
    std::ifstream ifs(src_file.c_str(), std::ios::binary);
 
    // Подсчет размер исходного файла
    ifs.seekg(0, std::ios::end);
    std::ios::pos_type src_size = ifs.tellg();
    ifs.seekg(0, std::ios::beg);
 
    // Количество целых проходов (для частей файлы, которые полностью умещаются в буфер)
    size_t a_mount = src_size / buf_size;
    // Остаток (остаток файла)
    size_t b_mount = src_size % buf_size;
 
    
    // Создание потока для файла-копии
    std::ofstream ofs(out_file.c_str(), std::ios::binary);
 
    // Это буфер
    char buf[buf_size];
 
    // Цикл по числу полных проходов
    for(size_t i = 0; i < a_mount; ++i)
    {
        ifs.read(buf, buf_size);
        ofs.write(buf, buf_size);
    }
    
    // Если есть остаток
    if(b_mount != 0)
    {
        ifs.read(buf, b_mount);
        ofs.write(buf, b_mount);
    }
 
    ifs.close();
    ofs.close();
 
    return 0;
}
0
13.04.2010, 10:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2010, 10:36
Привет! Вот еще темы с ответами:

Пользователь вводит имя файла, программа выводит содержимое файла с указанием номеров строк. - C++
Пользователь вводит имя файла, программа выводит содержимое файла с указанием номеров строк. Если пользователь вводит не существующий...

Программа чтения из файла - C++
Подскажите пожалуйста возможный алгоритм решения задачи: Таблица произвольной структуры в файле (база данных). Колонки таблицы...

Программа, сравнивающая 2 текстовых файла - C++
ребята, прошу помочь разобраться с программой на чистом СИ. В 1 файле текст, во 2 некоторые слова, встречающиеся в тексте из первого файла....

Программа на С++ обработка текста из файла - C++
Удалить группу пробелов, с которых, возможно начинается и заканчивается строка строки читаются из файла и выводятся в файл учесть, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.