[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Создание временного файла - Пример

Пример, приведенный на следующей странице, показывает как использовать
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>
 6
 7 main(int argc, char *argv[])
 8 {
 9     static char tempfile[15];
10     int fd;
11
12     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     }
18
19     printf("temporary file name is: %s\n",tempfile);
20
21     if ((fd = open(tempfile, O_RDWR | O_CREAT,
22     0640)) == -1) {
23     perror(argv[0]);
24     exit(0);
25     }
26
27     /* use temporary file */
28
29     unlink(tempfile);
30     exit(0);
31 }