利用mkstemp创建程序退出后不会被删除的临时文件
来源:互联网 发布:批量转换pdf软件 编辑:程序博客网 时间:2024/06/06 08:49
int mkstemp (char *template)
ENOENT为文件不存在时errno的值。
一、源代码:
1 #include "apue.h"
2 #include <sys/errno.h>
3
4 void make_tempfile(char *);
5 int main()
6 {
7 char valid_name[] = "/tmp/dirXXXXXX";
8 char *unvalid_name = "/tmp/dirXXXXXX";
9 printf("Trying to create the first temp file.\n");
10 make_tempfile(valid_name);
11 printf("Trying to create the second temp file.\n");
12 make_tempfile(unvalid_name);
13 exit(0);
14 }
15
16 void make_tempfile (char *template)
17 {
18 // FILE *fp;
19 struct stat buf;
20 int fd;
21 if ((fd = mkstemp(template)) < 0)
22 err_sys("mkstemp error");
23 printf("file name:%s.\n",template);
24 close (fd);
25 if (stat(template,&buf) < 0){
26 if(errno == ENOENT)
27 err_sys("file doesn't exist");
28 else
29 err_sys("stat error");
30 }
31 else{
32 printf("file exist\n");
33 unlink(template);
34 }
35 }
二、执行结果:
<bldc:/home/tingbinz/apue.3e/SBSCODE/5>R*_*G:./crt_ext_tmpf
Trying to create the first temp file.
file name:/tmp/dircPaWtk.
file exist
Trying to create the second temp file.
Segmentation Fault(coredump)
- 利用mkstemp创建程序退出后不会被删除的临时文件
- Linux中临时文件创建函数mkstemp的用法
- Linux中临时文件创建函数mkstemp的用法
- c下创建临时文件mkstemp函数
- c下创建临时文件mkstemp函数
- c下创建临时文件mkstemp函数
- 创建临时文件 tmpnam tmpfile tempnam mkstemp unlink
- 创建临时文件 tmpnam tmpfile tempnam mkstemp unlink
- 创建临时文件 tmpnam tmpfile tempnam mkstemp unlink
- tempfile.mkstemp 创建的文件的删除问题
- 创建临时文件——tmpnam,tmpfile,mktemp,mkstemp
- Linux下对临时文件的操作之mkstemp
- MFC 程序退出后删除右下角任务栏的图标
- LINUX下建立临时文件: mkstemp
- 解决Android程序运行且退出后却不会显示在近期任务里的问题
- 为什么状态栏上的GPS图标在GPS程序退出后不会自动消失
- 按模拟器home键后程序不会自动退出问题
- (转)程序运行退出后删除自身
- leetcode 229:Majority Element II
- Sip响应状态码功能对照详解
- Porting openwrt on MT7688 Log
- thrift
- JQuery DataTable 1.10服务端分页实现
- 利用mkstemp创建程序退出后不会被删除的临时文件
- 内部接口
- Makefile中常用的函数
- 函数指针数组
- 【Android】 从头搭建视频播放器(2)——SystemMediaPlayerImpl
- java获取相对时间 1小时前 1天前
- 关与RVDS2.2仿真时AXD的configure target 里面是空的问题解决
- USB驱动——USB配置
- DARwin-OP on the ROS