Содержание | Глава 13

Функция tmpnam

#include <stdio.h>
char *tmpnam(char *name);

Функция tmpnam() генерирует уникальное имя файла и сохраняет его в массиве, адресуемом указателем name. Длина этого массива должна составлять не меньше L_tmpnam символов. (Константа L_tmpnam определена в заголовочном файле <stdio.h>.) Основное назначение функции tmpnam() — сгенерировать имя временного файла, которое не совпадало бы ни с одним из имен файлов в текущем каталоге диска.

Эту функцию можно вызвать не более TMP_MAX раз. Константа TMP_MAX определена в заголовочном файле <stdio.h>, и ее значение больше либо равно 25. При каждом вызове функция tmpnam() будет генерировать новое имя временного файла.

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

Пример

В данной программе генерируются и выводятся на экран три уникальных имени временных файлов.

#include <stdio.h>

int main(void)
{
  char name[40];
  int i;

  for(i=0; i<3; i++) {
    tmpnam(name);
    printf("%s ", name);
  }

  return 0;
}

Зависимые функции

tmpfile()
Содержание | Глава 13