tmpnam函数
概要:
#include <stdio.h> char *tmpnam(char *s);
描述:
该函数生成表示有效文件名的字符串,生成的文件名不同于现有文件名。
该函数可能至少能够生成TMP_MAX个不同字符串;如果生成的字符串与现有文件重名,生成的字符串不是合适的返回值。
每次调用tmpnam函数都会生成不同的字符串;tmpnam函数生成字符串的最大长度(包括终止空字符。)为L_tmpnam。
如果参数s是空指针,可能会导致数据竞争(data race)。实现应像没有库函数调用tmpnam函数一样。
使用tmpnam函数生成字符串创建的文件是临时文件;使用后并且在程序终止前应调用remove函数删除此类文件。
ISO/IEC 9899:2018标准定义了该函数的安全版本tmpnam_s。
参数:
char *s
char类型指针。参数s可以是空指针,也可以是指向char类型数组的指针。如果参数s是指向char类型数组的指针,数组长度应至少为L_tmpnam。
返回值:
如果不能生成合适的字符串,函数返回空指针;否则如果参数s是空指针,函数使用内部静态对象(internal static object)存储生成字符串,并返回指向该对象的指针(tmpnam函数的后续调用可能会修改该对象。);如果参数s不是空指针,参数s指向长度至少为L_tmpnam的char类型数组,函数将生成的字符串写入该数组,并返回参数s。
范例:
|
|
输出:
Temporary filename: \s460.
Temporary filename: \s460.1
相关内容:
L_tmpnam | 表示tmpnam函数生成字符串最大长度的宏。 |
TMP_MAX | 表示tmpnam函数生成唯一文件名的最大数量的下限的宏。 |