Linux下创建临时文件
已移到:http://www.iteblog.com/archives/172
临时文件是一个暂时用来存储数据的文件。如果使用建立普通文件的方法来创建文件,则可能遇到文件是否存在,是否有文件读写权限的问题。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()打开文件。
转载请注明: 转载自过往记忆(http://www.iteblog.com/)
本文链接地址: Linux下创建临时文件(http://www.iteblog.com/archives/172)
Linux下创建临时文件相关推荐
- Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多
Linux下创建软链接|硬链接,文件访问为空,提示:x x x: 符号连接的层数过多. 原因:创建符号链接的时候未使用绝对路径,无论是源文件路径还是目标路径,都需要使用绝对路径. 如: ln -s / ...
- linux下创建具有root权限的账户
linux下创建具有root权限的账户 http://blog.chinaunix.net/uid-24631445-id-2981034.html posted on 2013-11-01 20:3 ...
- Linux下创建用户、切换用户、删除用户
Linux下创建用户: useradd tooker #创建用户tooker passwd tooker #给用户tooker设置密码,如果没有设置密码该用户不能用 useradd -g users ...
- linux 下创建文件的方法
linux 下创建文件的方法 touch aaa.txt 创建一个叫aaa.txt的文件 echo "" >> aaa.txt 创建一个叫aaa ...
- linux spyder 目录,linux下创建spyder桌面图标的方法
linux下创建spyder桌面图标的方法 发布时间:2020-07-20 11:08:41 来源:亿速云 阅读:96 作者:清晨 小编给大家分享一下linux下创建spyder桌面图标的方法,希望大 ...
- linux下创建用户及组
linux下创建用户及组: 1.创建组 groupadd 组名 2.创建用户,并将用户添加到组 useradd 用户名 -g 组名 3.更改用户的密码 password 用户名 4.修改目录 ...
- 4.windows和Linux下创建oracle用户名表空间,表,插入数据,用户管理表等操作
进入超级管理员,执行以下命令 Window下创建数据库,表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 根据实际安装环境进行调整 CREATE TABLESPACE ts ...
- linux下创建svn仓库及用户
1 Linux下创建svn仓库 1.1 启动SVN服务 svnserve -d -r /SVNRootDirectry 其中SVNRootDirectry是你的SVN 根目录,例如192.85.1. ...
- Linux下创建和删除用户
Linux下创建和删除用户 目录 Linux下创建和删除用户 1 创建新用户 2 配置新用户 3 进入新用户 4 删除用户 1 创建新用户 在普通root用户下可能没有权限操作,因此直接在root下操 ...
最新文章
- php 魔术方法 说明
- 超越英伟达的,不会是另一款GPU?这家深圳公司发布全球首款数据流AI芯片
- java冒泡排序函数验证_java冒泡排序-选择排序-插入排序-使用API中文文档直接调用函数...
- GCD 深入理解:第一部分
- 终端滑模matlab程序,滑模变结构控制 MATLAB程序
- php_self nginx,nginx中的PATH_INFO为什么会影响$_SERVIER['PHP_SELF']
- Flutter StreamBuilder 异步更新数据
- SPSS学习笔记(二)T检验
- AUTOSAR实战教程pdf版
- 在线作图丨数据降维分析④——NMDS分析
- EasyUI的基本使用布局
- Delphi: RTTI与ini配置文件
- 光线微弯传感器matlab仿真,基于输出光斑旋转的光纤微弯位移传感器
- 怎么录制视频声音,什么录音软件好用
- scratch教程----5.特效的制作
- 2019牛客暑期多校训练营(第七场)D Number——实系数多项式因式分解定理
- hdl-grap-slam 运行以及编译
- 系统盘下system32下的文件说明
- RTOS系列文章(6):Cortex-M3/4之SP,MSP,PSP,Thread模式、Handler模式、内核态、用户态
- Springboot循环依赖解决办法