使用mkstemp创建临时文件
----------------
编程范式
-------
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
void name(...)
{
int tid;
int ret;
char str[512]={0};
char name[]="/tmp/temp-name.XXXXXX"; //注意临时文件的名称后面必须跟上".XXXXXX",否则提示"mkstemp: Invalid argument"临时文件创建失败.
tid=mkstemp(name);
if(tid==-1)
{
perror("mkstemp");
return -1;
}
ret=unlink(name); //删除临时文件,执行unlink函数并不一定会真正删除文件,它先会检查文件系统中此文件的连接数是否为1,如果不是1说明此文件还有其他链接对象,因此只对此文件的连接数-1操作.若连接数为1,并且在此时没有任何进程打开该文件,此时才能真正被删除掉.在有进程打开此文件的情况下则暂时不会删除,直到所有打开该文件的进程都结束时,文件就会被删除.
if(ret==-1)
{
perror("unlink");
retur