Пример: простое последовательное копирование файла

Пример: простое последовательное копирование файла

В следующих разделах приведены примеры коротких программ, реализующих простое последовательное копирование содержимого файла тремя различными способами:

1. С использованием библиотеки С.

2. С использованием Windows.

3. С использованием вспомогательной функции Windows — CopyFile.

Кроме того, что эти примеры дают возможность сопоставить между собой различные модели программирования, они также демонстрируют возможности и ограничения, присущие библиотеке С и Windows. Альтернативные варианты реализации усилят программу, увеличивая ее производительность и повышая гибкость.

Последовательная обработка файлов является простейшей, наиболее распространенной и самой важной из возможностей, обеспечиваемых любой операционной системой, и почти в каждой большой программе хотя бы несколько файлов обязательно подвергаются этому виду обработки. Поэтому простая программа обработки файлов предоставляет прекрасную возможность ознакомиться с Windows и принятыми в ней соглашениями.

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

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

Само по себе копирование файлов не представляет особого интереса, однако сравнение программ не только позволит вам быстро оценить, чем отличаются друг от друга различные системы, но и послужит хорошим предлогом для знакомства с Windows. В последующих примерах реализуется ограниченный вариант одной из команд UNIX — cp, осуществляющей копирование одного файла в другой и требующей задания имен файлов в командной строке. В приведенных программах организована лишь простейшая проверка ошибок, которые могут возникать на стадии выполнения, а существующие файлы просто перезаписываются. Эти и другие недостатки будут учтены в последующих Windows-реализациях этой и других программ. Примечание. Реализация программы для UNIX находится на Web-сайте книги.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Пример REG-файла

Из книги Тонкости реестра Windows Vista. Трюки и эффекты автора Клименко Роман Александрович

Пример REG-файла Рассмотрим содержимое одного из файлов реестра на примере части REG-файла раздела HKEY_CURRENT_USERControl PanelMouse. Windows Registry Editor Version 5.00 [HKEY_CURRENT_USERControl


Пример. Копирование объектов

Из книги AutoCAD 2009. Начали! автора Соколова Татьяна Юрьевна

Пример. Копирование объектов Получить две копии детали (рис. 11.3). Рис. 11.3. Копирование объектовЗапустите команду COPY, вызвав ее из падающего меню Modify ? Сору или щелчком на пиктограмме Сору на панели инструментов Modify. Ответьте на запросы:_COPYSelect objects: – укажите точку 1Select objects:


8.1.7. Пример файла конфигурации /etc/xinetd

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

8.1.7. Пример файла конфигурации /etc/xinetd Теперь, как и обещал, привожу пример файла конфигурации (см. листинг 8.5). В этом листинге перечислены наиболее часто используемые сервисы с оптимальными параметрами (атрибутами). Конечно же, вам предстоит решить: какие сервисы вы будете


Пример: копирование нескольких файлов на стандартное устройство вывода

Из книги Сетевые средства Linux автора Смит Родерик В.

Пример: копирование нескольких файлов на стандартное устройство вывода В программе 2.3 иллюстрируется использование стандартных устройств ввода/вывода, а также демонстрируется, как улучшить контроль ошибок и усовершенствовать взаимодействие с пользователем. Эта


Пример: простое управление задачами

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Пример: простое управление задачами Оболочки UNIX предоставляют команды, позволяющие выполнять процессы в фоновом режиме и получать их текущее состояние. В этом разделе разрабатывается простой "процессор задач" ("job shell") с аналогичным набором команд, перечень которых


Пример конфигурационного файла зоны

Из книги C++. Сборник рецептов автора Диггинс Кристофер

Пример конфигурационного файла зоны В листинге 18.2 приведен пример простого конфигурационного файла зоны. Этот файл начинается с имени зоны (threeroomco.com) и раздела, в котором определяются параметры домена по умолчанию. Эти параметры детально рассматриваются ниже. За этим


25.3.2. Последовательное чтение записей

Из книги Первые шаги с Windows 7. Руководство для начинающих автора Колисниченко Денис Н.

25.3.2. Последовательное чтение записей С помощью функций dpiterinit() и dpiternext() приложения могут производить итерации по всем ключам в базе данных. Ключи не возвращаются в каком-то определенном порядке[180], а базу данных не нужно модифицировать во время итераций, производимых


10.7. Копирование файла

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

10.7. Копирование файла ПроблемаТребуется скопировать файл, причем так, чтобы эта операция была переносимой, т.е. без использования зависящего от ОС программного интерфейса.РешениеИспользуйте файловые потоки С++, определенные в <fstream>, для копирования одного потока в


4.2.3. Копирование, переименование и перемещение файла или папки

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

4.2.3. Копирование, переименование и перемещение файла или папки Для копирования файла (группы файлов) или папки (группы файлов) нужно выполнить следующие действия:1. Выделите файлы — можно выделить один файл или каталог — для этого просто щелкните по нему. Для выделения


10.4.1. Простое резервное копирование по сети

Из книги автора

10.4.1. Простое резервное копирование по сети Простейший способ сохранить каталог со своими данными — это перекинуть его по сети на другой компьютер. Утилита scp (Secure Copy) позволяет копировать каталоги в защищенном зашифрованном виде не только в пределах локальной сети, но и


Пример A-6. copy-cd: Копирование компакт-дисков с данными

Из книги автора

Пример A-6. copy-cd: Копирование компакт-дисков с данными #!/bin/bash# copy-cd.sh: copying a data CDCDROM=/dev/cdrom # устройство CD ROMOF=/home/bozo/projects/cdimage.iso # промежуточный файл# /xxxx/xxxxxxx/ измените для своей системы.BLOCKSIZE=2048SPEED=2 # Можно задать более высокую