tmpnam – генерация уникального имени для временного файла.
Синтаксис:
#include < stdio.h >
char * tmpnam (char *tmp_name);
Аргументы:
tmp_name – указатель на строку, в которую будет помещено уникальное маршрутное имя файла.
Возвращаемое значение:
Если удалось сгенерировать уникальное имя файла, то будет возвращен указатель на строку, в которую помещено уникальное имя файла.
Если сгенерировать уникальное имя не удалось, то будет возвращен NULL.
Описание:
Функция tmpnam генерирует уникально маршрутное имя для временного файла. Сгенерированное имя помещается в строку на которую указывает аргумент tmp_name.
Внимание! Массив, на который указывает аргумент tmp_name, должен быть размером не меньше, чем указано константе L_tmpnam (обычно L_tmpnam=20).
Если в качестве аргумента функции указать NULL, то уникальное имя будет сохранено во внутреннем буфере функции и будет переписано при следующем вызове функции tmpnam.
Вызывать функцию tmpnam можно несколько раз, но не более чем TMP_MAX (обычно TMP_MAX = 238328) раз. Каждый раз будет сгенерировано уникальное маршрутное имя файла.
Функция tmpnam только генерирует имя файла, она не создает сам файл.
Не рекомендуется использовать функцию tmpnam, так как в ней не проверяется размер буфера, в который будет помещено сгенерированное имя, и возможно возвращения вместо имени NULL. Лучше используйте для создания временного файла с уникальным именем функцию mkstemp.
Пример:
В примере генерируется случайное маршрутное имя временного файла, и результат выводится на консоль.
#include < stdio.h > // Для printf, tmpnam
int main (void)
{
//Массив для сохранения сгенерированного имени
char str [L_tmpnam] = ””;
// Генерируем уникальное имя файла и выводим его на консоль
printf (“Уникальное имя: %s\n”, tmpnam (str) );
return 0;
}
| |
Результат:
Уникальное имя: /tmp/file0AwioQ
|
Смотри так же:
tmpnam
tmpnam_r
mkstemp
mktemp
tempnam
tmpfile
|