Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лекции иртегова / Лекция 6.1 - Управление файлами.doc
X
- •Управление файлами
- •Доступность файла - access(2)
- •Доступность файла - Пример
- •Получение и установка ограничений для пользователя
- •Получение и установка маски создания файла
- •Установка маски создания файла - Пример
- •Определение состояния файла
- •Состояние файла
- •Состояние файла - st_mode
- •Печать состояния файла - Пример
- •Печать состояния файла - Пример (Продолжение)
- •Доступ к бд учетных записей
- •Получение доступа к файлу групп
- •Печать имени пользователя - Пример
- •Изменение прав доступа файла
- •Изменение прав доступа файла - Пример
- •Изменение владельца и группы файла
- •Установка времени доступа и изменения файла
- •Изменение временных отметок файла - Пример
- •Установка длины файла
- •Поиск файла
- •Поиск файла - Пример
- •Генерация имени для временного файла
- •Создание временного файла - Пример
Создание временного файла - Пример
Пример, приведенный на следующей странице, показывает как использовать mktemp(3C) для создания имени временного файла. Пример работает следующим образом:
9 Объявляется массив tempfile. Он будет содержать имя временного файла.
12-17 Имя временного файла формируется из первых восьми символов имени программы, за которыми следуют подставляемые вместо XXXXXX функцией mktemp(3C) уникальные символы.
19 Печатается имя временного файла.
21-25 Временный файл создается и открывается на чтение и запись.
27 Чтение и запись временного файла опущены.
29 Временный файл уничтожается.
Программа демонстрируется следующим образом:
$ mktemp
temporary file name is: mktempa001SL$Файл: mktemp.cСОЗДАНИЕ ВРЕМЕННОГО ФАЙЛА - ПРИМЕР1 #include <stdlib.h>2 #include <stdio.h>3 #include <string.h>4 #include <unistd.h>5 #include <fcntl.h>67 main(int argc, char *argv[])8 {9 static char tempfile[15];10 int fd;1112 strncpy(tempfile, argv[0], 8);13 strcat(tempfile, "XXXXXX");14 if (mktemp(tempfile) == NULL) {15 printf("cannot create temporary file name\n");16 exit(1);17 }1819 printf("temporary file name is: %s\n",tempfile);2021 if ((fd = open(tempfile, O_RDWR | O_CREAT,22 0640)) == -1) {23 perror(argv[0]);24 exit(0);25 }2627 /* use temporary file */2829 unlink(tempfile);30 exit(0);31 }
Соседние файлы в папке лекции иртегова
