软件开发过程中生成临时文件是比较常用的。此时为临时文件指定一个明明方案,确保每个文件都被指定独一无二的文件名。cstdio库函数中声明的tmpnam()标准函数可实现该功能
char*tmpnam(char*pszname);
tmpname()函数创建了一个临时文件名,并将它放到pszname指向的C风格字符串中,常量L_tmpnam限制了文件名包含的字符串,常量TMP_MAX限制了确保当前目录中不生成崇明文件夹的情况下,tmpnam()可被调用的最多次数
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
cout << "This system can generate up tp" << TMP_MAX << " temporary names of up to " << L_tmpnam << "characters.\n";
char pszName[L_tmpnam] = { '\0' };
cout << "Here are ten names: \n";
for (int i = 0; i < 10; i++)
{
tmpnam_s(pszName);
cout << pszName << endl;
}
return 0;
}
//图中运行结果可能根据配置不同而不同,并且每次运行文件名都不一致