Пример программы, использующей файловые системные вызовы

В этом разделе будет рассмотрена простая UNIX-программа, копирующая один файл из файла-источника в файл-приемник. Текст программы показан в листинге 4.1. У этой программы минимальные функциональные возможности и очень скромные возможности сообщения об ошибках, но она дает довольно четкое предоставление о некоторых системных вызовах, относящихся к работе с файлами.

Листинг 4.1. Простая программа копирования файла


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


int main(int argc, char *argv[]); /* ANSI-прототип */

#define BUF_SIZE 4096 /* используется буфер размером

4096 байт */

#define OUTPUT_MODE 0700 /* биты защиты для выходного файла */

int main(int argc, char *argv[])

{

int in_fd, out_fd, rd_count, wt_count; char buffer[BUF_SIZE];

if (argc != 3) exit(1); /* если argc не равен 3, возникает

синтаксическая ошибка */


/* Открытие входного и создание выходного файла */


/* Цикл копирования */ while (TRUE) {

rd_count = read(in_fd, buffer, BUF_SIZE); /* чтение блока данных */ if (rd_count

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Пример программы, использующей файловые системные вызовы:

  1. I. 1. СИСТЕМНЫЙ ПОДХОД КАК ИНСТРУМЕНТ ДЛЯ ПОСТРОЕНИЯ СИСТЕМНЫХ ОПИСАНИЙ
  2. I. СИСТЕМНЫЕ ОПИСАНИЯ - ГЛАВНЫЙ РЕЗУЛЬТАТ СИСТЕМНОГО ПОДХОДА В ПСИХОЛОГИИ
  3. Примеры жестокости по отношению к другим (эти примеры более всего относятся к семейной жизни):
  4. Психология личности целостна, системна (принцип целостности, системности).
  5. Бросьте себе вызов
  6. ВЫЗОВ ВРАЧА
  7. СПТ откликается на вызов обстоятельств
  8. Быстрый вызов желаемого
  9. Самоубийство как вызов обществу
  10. Программа Да и программа Нет
  11. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
  12. § 14 Условное соглашение. – Предложение и вызов. – Договор посредством публичного торга или состязания. – Одностороннее обещание.
  13. 3.6. ИСПОЛЬЗУЙТЕ ТОЛЬКО НАСТОЯЩЕЕ ВРЕМЯ
  14. 4.2.2. Используйте или потеряете
  15. 3. Используйте имя Бога
  16. Используйте имя Бога.
  17. Используйте дуальные перспективы.
  18. КАК БАНКИР ИСПОЛЬЗУЕТ ПОДСОЗНАНИЕ
  19. ЧТОБЫ СТАТЬ БОГАТЫМ, ИСПОЛЬЗУЙТЕ СИЛУ ВООБРАЖЕНИЯ
  20. 3 Используйте активное программирование, «подключая» к работе голос и движение.