函数使用如下:
void tempFileDeal()
{
int fd = 0;
char buf[128] = "temp-XXXXXX";
if((fd = mkstemp(buf)) < 0)
{
perror("mkstemp");
return ;
}
close(fd);
remove(buf);
}
注意点:
1.注意mktemp的使用的返回值是一个打开的fd,如果这个fd不接收,那么就不会关闭,当打开的零时文件太多,那么就会使得系统的句柄数太多,系统将无法再次打开新的fd,系统崩溃;
2.mkstemp函数的传入buf如上诉代码所示,但是函数执行完成后buf中的数据会变为文件路径,所以需要删除文件的话,可以直接remove();