LINUX.ORG.RU

А причём здесь C++?
Вообще, вместо tempnam нужно использовать mkstemp.

Вот отрывок из man tempnam:

BUGS
The precise meaning of `appropriate' is undefined;  it  is  unspecified how  accessibility  of a directory is determined.  Never use this 
function. Use mkstemp(3) instead.

anonymous
()
Ответ на: комментарий от anonymous

Мне нужно получать имя временного файла, а не дескриптор. Поэтому mkstemp мне не подходит.

anonymous
()
Ответ на: комментарий от anonymous

Это insecure. Появляется time window между получением имени временного файла и его открытием. Так что нужно использовать mkstemp, а затем привязывать файловый дескриптор к fstream, если необходимо.

anonymous
()
Ответ на: комментарий от anonymous

Следовательно не существует аналогичной замены для tempnam, так? Или каким-то фигом можно получить имя по дескриптору?

anonymous
()
Ответ на: комментарий от anonymous

Выдержка из man

RETURN VALUE

The mkstemp() fuction returns the file descriptor fd of the temporary file of -1 on error.

Нет тут упоминания на возвращение имени файла.

anonymous
()
Ответ на: комментарий от anonymous

Читайте внимательнее:

DESCRIPTION
The mkstemp() function generates a unique temporary file name from
template.  The last six characters of template must be  XXXXXX  and  these are  replaced with a string that makes the filename unique.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.