tmpnam

tmpnam是C语言中用于产生一个唯一的文件名。

#include<stdio.h>

产生一个唯一的文件名

char *tmpnam(char *sptr);

sptr可以是NULL或者一个栈地址。当sptr为NULL时,返回一个内部静态内存地址(保存了临时文件名),当下一次以NULL调用函数的时候,该内存会被修改。栈地址必须至少有L_tmpnam内存,这样名字保存在那个数组里面,如数组 char buffer [L_tmpnam],注意用此文件名去打开文件流所创建的文件都是临时性的。tmpnam可以被一个程序最多调用TMP_MAX(最少为几千次),每一次它都会返回一个不同的文件名。

有时候在程序运行的时候,可能需要创建一个临时文件,保存一些数据,以后再用,在程序退出时希望这些文件能够被自动删除。而创建的时候有希望一次创建成功,不会覆盖可能重名的文件,这时需要使用临时文件。该函数的功能是产生一个唯一的文件名,结果存放在数组sptr中,该函数的主要用途是生成与目录中现有文件名不同的有效路径名字符串,其中sptr中保存了所产生的文件名。标准I/O库中提供了两个函数用来创建临时文件。另外一个是tmpfile。

#include<stdio.h>

int main(void)

{

char name[13];

tmpnam(name);

printf("Temporary name: %s\n", name);

return 0;

}

相关词汇