linux临时文件

临时文件是一个暂时用来存储数据的文件。如果使用建立普通文件的方法来创建文件,则可能遇到文件是否存在,是否有文件读写权限的问题,而创建的时候希望一次创建成功,不会覆盖可能重名的文件

tmpfile          - create a temporary file in a safe manner
tempnam          - create a name for a temporary file
tmpnam           - create a name for a temporary file
mkdtemp          - create a unique temporary directory
mkstemp          - create a unique temporary file
mktemp           - make a unique temporary filename
char *tmpnam(char *s);

名字保存在数组 char buf[L_tmpnam]里,长度至少L_tmpnam

FILE *tmpfile(void);

以wb+形式创建一个临时二进制文件,关闭文件或程序结束时将自动删除

char *mktemp(char *template);

参数template所指的文件名称字符串中最后六个字符必须是XXXXXX。产生后的文件名会借字符串指针返回

int mkstemp(char *template);

临时文件使用完成后应及时删除,否则临时文件目录会塞满垃圾。由于mkstemp函数创建的临时文件不能自动删除,所以执行完 mkstemp函数后要调用unlink函数

举例

char tmp[L_tmpnam] = "/tmp/tmp.XXXXXX";  

int fd = mkstemp(tmp); //原始mktemp  
printf("tmp file is %s\n", tmp);  

unlink(tmp);

# ./a.out    
tmp file is /tmp/tmp.3h1QG1

注意:如果我们打算用它,就必须尽快打开这个文件,把另一个程序打开一个同名文件的风险降到最小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值