MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Програми копіювання файлів

Название:Програми копіювання файлів
Просмотров:92
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание: Міністерство освіти і науки України Житомирський державний технологічний університет Лабораторна робота №1 з курсу «Системне програмування» на тему: «Програми копіювання файл

Часть полного текста документа:

Міністерство освіти і науки України

Житомирський державний технологічний університет

Лабораторна робота №1

з курсу «Системне програмування»

на тему: «Програми копіювання файлів»

м. Житомир 2011 р.


Зміст

1. Навчитися користуватись програмами copy1.exe та copy2.exe.

2. Розібрати роботу програм

2.1 Робота програми «COPY1.EXE»

2.2 Робота програми «COPY1.EXE»

3. Експерименти з «copy1.c»

4. Експерименти з «copy2.c»

Контрольні запитання

Висновок

Список використаної літератури


1. Навчитися користуватись програмами copy1.exe та copy2.exe

Програми «COPY1.С» та «COPY2.С» призначені для копіювання файлів. Програма «COPY1.С» використовує функції роботи з file handles, а «COPY2.С» - функції потокового вводу-виводу.

Для користування програмами:

·  їх необхідно скомпілювати та отримати виконавчі файли «COPY1.EXE» та «COPY2.EXE»;

·  запустити необхідну програму за допомогою командного рядка, ввівши відповідно "ім’я_прогрми" "файл_з_якого_копіювати" "файл_в_який_копіювати";

програма копіювання файл


2. Розібрати роботу програм

 

2.1 Робота програми «COPY1.EXE»

Підключаємо заголовочні файли для використання функцій та змінних:

#include <io.h> //open(), eof(), read(), write(), close()

#include <conio.h> //getch()

#include <stdio.h> //printf()

#include <stdlib.h> //exit()

#include <fcntl.h> //O_BINARY, O_RDONLY, O_WRONLY, O_CREAT, O_EXCL, O_TRUNC

#include <sys\types.h> //

#include <sys\stat.h> //S_IREAD, S_IWRITE

#include <alloc.h> //

#include <errno.h> //EEXIST

Макрос, що визначає розміру масиву

#define BUFSIZE 10000

Функція main() має два аргументи: цілочисельний аргумент argc який містить кількість аргументів у командному рядку та покажчик на масив покажчиків на рядки, де кожен вказує на певний аргумент командного рядка.

void main( int argc, char **argv ) {

Оголошуємо змінні:

int source, target;

int i;

char *buffer;

int count;

Перевіряємо чи правильна кількість аргументів у командному рядку. Якщо аргументів не три (програма, файл для копіювання, файл-копія), виводиться повідомлення про правильність заповнення командного рядка і виконання програми завершується.

if( argc != 3 ){

printf( "\n"

"Usage: COPY1 [d:][\\path]source_file [d:][\\path]target_file\n" );

getch();

exit( 1 );

}

Відкриваємо файл, який будемо копіювати за допомогою функції open(). Для цього передаємо в якості параметрів покажчик на імя файлу (argv[ 1 ]) та вказуємо типи доступу до файлу. O_BINARY - прапор доступу у бінарному режимі. O_RDONLY - прапор доступу до файлу "лише для читання". Функція open() у випадку успішного виконання повертає file handle і встановлює курсор на початок файлу, а у випадку помилки повертає -1 та встановлює errno в один із наступних станів: ENOENT, EMFILE, EACCES, EINVACC.

Даним if-ом перевіряємо успішність відкриття файлу, який варто копіювати.

if( ( source = open( argv[ 1 ], O_BINARY | O_RDONLY ) ) == -1 ) {

printf( "\nOpen source file error: %d", errno );

getch();

exit( 2 );

}

Відкриваємо файл, в який будемо копіювати за допомогою тієї ж функції open().

Прапор доступу до файлу встановлюємо в один із положень:

·  O_BINARY - бінарний;

·  O_WRONLY - для запису;

·  O_CREAT - створюється;

·  O_EXCL - перезаписується.

Прапор способу відкриття встановлюємо в один із положень:

·  S_IREAD - може бути прочитаний;

·  S_IWRITE - може бути записаний.

target = open( argv[ 2 ], O_BINARY | O_WRONLY | O_CREAT | O_EXCL,

S_IREAD | S_IWRITE );

Якщо при відкритті(створенні) файлу до якого буде відбуватися копіювання, errno дорівнює EEXIST (тобто файл з таким ім’ям вже існує), повідомити про існування файлу та запитати про необхідність його перезапису.

if( errno == EEXIST ) {

printf( "\nFile already exists. ............







Похожие работы:

Название:Технические параметры выполнения произвольных программ высококвалифицированными батутистами
Просмотров:723
Описание: на различных соревнованиях Аспирантка, заслуженный мастер спорта С. В. Баландина Аспирантка, заслуженный мастер спорта И. В. Караваева Кубанский государственный университет физической культуры, спорта и туризма,

Название:На чем писать программы? (краткий обзор возможностей языков программирования)
Просмотров:741
Описание: Сергей Трофимов Сегодня мы продолжаем разговор на тему какой язык программирования выбрать, начатый с статье “Delphi или Visual C++ - вот в чем вопрос”. Тема оказалась глубже, чем казалось на первый взгляд, и я провел нек

Название:Когда прекращать тестирование программ?
Просмотров:685
Описание: С.Трофимов Никто не сомневается в необходимости тестирования программ. Будь то небольшой учебный пример или целая информационная система. Вопрос только в том, сколько нужно тестировать и когда можно считать про

Название:Разработка технологической программы выращивания цветочных культур (нарцисс и цикламен)
Просмотров:742
Описание: Содержание выращивание цветок агроэксплуатационная характеристика Введение 1. Производственно-экономическая характеристика хозяйства, природно-климатические особенности зоны 2. Агроэксплуатационная ха

Название:Оценка эффективности программно-целевого метода службы занятости населения
Просмотров:530
Описание: Министерство науки и образования РФ ГОУ ВПО «Магнитогорский государственный университет» Социальный факультет Кафедра теории и методики социальной работы Оценка эффективности программ

 
     

Вечно с вами © MaterStudiorum.ru