您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言tmpnam()函数:产生一个唯一的包含路径的文件名

时间:12-29来源:作者:点击数:

头文件:#include<stdio.h>

tmpnam()函数产生一个唯一的包含路径的文件名,该文件名与系统中已经存在的文件都不相同,因此非常适合用来创建一个临时文件,而不用担心覆盖现有的文件。其原型为:
    char *tmpnam(char *str);

【参数】tmpnam()函数产生的文件名保存在一个数组中,并将数组的地址返回。如果str为null,那么文件名将被保存在一个系统自动创建的静态数组中。该数组会一直存在,直到再次调用tmpnam()函数或程序停止。如果str不是null,那么它必须指向一个长度不小于 L_tmpnam 的字符数组,该数组将用于保存产生的文件名。

L_tmpnam是在stdio.h中定义的宏,指明了tmpnam()函数产生的文件名的最大长度。

【返回值】成功时返回一个指向保存着文件名的字符数组的指针(如果str不是null,那么返回值与str一样),失败时返回null。

注意:tmpnam()仅仅是产生一个文件名,必须使用fopen()等函数创建临时文件。因此在文件关闭或程序停止时,该文件不会自动删除,必须手动处理。而tmpfile()函数创建并打开一个临时文件,该文件由系统自行管理,会在文件关闭或程序停止时自动删除。

【实例】产生另个文件名并打印。

#include <stdio.h>
int main ()
{
    char buffer [L_tmpnam];
    char * pointer;
    tmpnam (buffer);
    printf ("Tempname #1: %s\n",buffer);
    pointer = tmpnam (NULL);
    printf ("Tempname #2: %s\n",pointer);
    return 0; 
}

可能的运行结果:

Tempname #1: /s4s4.
Tempname #2: /s4s4.1
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门