tmpnam ()- 生成临时文件名

格式

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

语言级别

ANSI

线程安全

但是,使用 tmpnam (NULL) 不是线程安全的。

描述

tmpnam() 函数生成的有效文件名与任何现有文件的名称不同。 它将此名称存储在 string中。 如果 stringNULL,那么 tmpnam() 函数会将结果保留在内部静态缓冲区中。 任何后续调用都会破坏此值。 如果 string 不是 NULL,那么它必须指向至少包含 L_tmpnam 字节的数组。 临时南 的值在 <stdio.h>中定义。

每次在至少 TMP_MAX 名称的激活组中调用 tmpnam() 函数时,该函数都会生成不同的名称。 对于 ILE CTMP_MAX 为 32 767。 这是一个理论限制; 可同时打开的实际文件数取决于系统中的可用空间。

返回值

tmpnam() 函数返回指向名称的指针。 如果无法创建唯一名称,那么将返回 NULL

示例

此示例调用 tmpnam() 以生成有效文件名。
#include <stdio.h>
 
int main(void)
{
   char *name1;
   if ((name1 = tmpnam(NULL)) !=NULL)
      printf("%s can be used as a file name.\n", name1);
   else
      printf("Cannot create a unique file name\n");
}

相关信息