C语言新建临时文件和临时文件名的方法
C语言mkstemp()函数:建立临时文件 #include <stdlib.h> 定义函数: int mkstemp(char * template); 函数说明:mkstemp()用来建立唯一的临时文件. 参数template 所指的文件名称字符串中最后六个字符必须是XXXXXX. Mkstemp()会以可读写模式和0600 权限来打开该文件,如果该文件不存在则会建立该文件. 打开该文件后其文件描述词会返回. 文件顺利打开后返回可读写的文件描述词. 若果文件打开失败则返回NULL,并把错误代码存在errno 中. 错误代码:EINVAL 参数template 字符串最后六个字符非XXXXXX. EEXIST 无法建立临时文件. 附加说明: char template[] = "template-XXXXXX"; 千万不可以使用下列的表达方式 char *template = "template-XXXXXX"; 范例 #include <stdlib.h> main() { int fd; char template[] = "template-XXXXXX"; fd = mkstemp(template); printf("template = %sn",template); close(fd); } 执行 template = template-lgZcbo C语言mktemp()函数:产生唯一临时文件名 #include <stdlib.h> 定义函数: char * mktemp(char * template); 函数说明:mktemp()用来产生唯一的临时文件名. 参数template 所指的文件名称字符串中最后六个字符必须是XXXXXX. 产生后的文件名会借字符串指针返回. 返回值:文件顺利打开后,指向该流的文件指针就会被返回. 如果文件打开失败则返回NULL,并把错误代码存在errno 中. 附加说明:参数 template 所指的文件名称字符串必须声明为数组,如: char template[] = "template-XXXXXX"; 不可用 char * template = "template-XXXXXX"; 范例 #include <stdlib.h> main() { char template[] = "template-XXXXXX"; mktemp(template); printf("template=%sn",template); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |