Linux下创建临时文件
Linux #临时文件 #文件2012-04-28 09:57
临时文件是一个暂时用来存储数据的文件。如果使用建立普通文件的方法来创建文件,则可能遇到文件是否存在,是否有文件读写权限的问题。Linux系统下提供的建立唯一的临时文件的方法如下:
#include<stdio.h> char *tmpnam(char *s); FILE *tmpfile();函数tmpnam()产生一个唯一i的文件名。如果参量为NULL,则在一个内部使用的缓冲区内产生文件名,当下一次调用该函数的时候,则可能覆盖该文件名。如果参数不是为NULL,则名字拷贝到字符串中,字符串的长度至少为L_tmpnam,它定义在stdio.h中。如果不成功则函数返回NULL。函数tmpfile()则返回一个临时文件的描述符,文件的打开属性是读和写。相当于使用fopen以w+打开。如果不成功则返回NULL。
下面是一个简短的列子。
#include<stdio.h> int main(){ char tmpname[L_tmpnam]; char *filename; FILE *fp; filename = tmpname(tmpname); printf("Temporary file name is %s\n", filename); fp = tmpfile(); if(fp){ printf("Temporary file opened!\n"); }else{ perror("tmpfile"); } return 0; }此外,还有两个函数也可以创建临时文件:
#include<stdio.h> char *mktemp(char *template); int mkstemp(char *template);函数mktemp()从给定的模块template中创建唯一的临时文件名。模版可以是文件路径的前缀,模版的最后6个字符必须是“XXXXXX”,比如:
char template[L_tmpnam]; char *filename; strcpy(template, "/temp/wypXXXXXX"); filename = mktemp(template); printf("Temporary file name is %s\n", filename);函数mkstemp()类似于tmpfile(),但是打开的文件相当于使用提供底层的文件操作函数open()打开文件。
相关文章
- linux计划任务crontab总结 2012/04/28
- Rsync命令参数详解 备份同步首选 2012/04/24
- CentOS时间同步方法和更新时间脚本 2012/04/24
- Linux 解压缩命令 tar 用法 2012/04/23
- linux创建普通用户和管理员用户 2012/04/20
- linux下mysql忘记密码找回方法 2012/04/20
- CentOS5.5/RHEL5.5/Fedora12禁用IPv6的方法 2012/04/20