Функция
tmpnam()
возвращает указатель на строку, содержащую корректное имя файла, и
гарантирует, что файла с таким именем не существует на момент вызова,
так что только наивный программист может считать это имя
самым подходящим для временного файла. Если аргумент
s
равен NULL, это имя генерируется во внутреннем статическом буфере и
может быть изменено последующим вызовом
tmpnam().
Если
s
не равно NULL, то имя копируется в массив символов (длиной не менее
L_tmpnam),
на который указывает
s,
и значение
s
возвращается в случае удачного завершения вызова.
Имя файла создается с помощью префикса каталога
P_tmpdir.
Оба файла: и
L_tmpnam,
и
P_tmpdir
- определены в
<stdio.h>
так же, как TMP_MAX, описанный ниже.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функция
tmpnam()
возвращает указатель на уникальное временное имя фала или NULL,
если имя невозможно создать.
НАЙДЕННЫЕ ОШИБКИ
Ошибки не определены.
ЗАМЕЧАНИЯ
Многозадачные приложения не должны делать вызов
tmpnam()
с параметром NULL, если _POSIX_THREAD_SAFE_FUNCTIONS и _POSIX_THREADS
определены.
Функция
tmpnam()
генерирует разную строку при каждом вызове (до TMP_MAX раз). Если
функция вызывается более TMP_MAX раз, то поведение ее определяется
конкретной реализацией.
НАЙДЕННЫЕ ОШИБКИ
Не используйте эту функцию!
Попробуйте вместо нее использовать функцию
tmpfile(3).