mktemp
目录
C语言创建唯一临时文件函数mktemp
程序示例1
程序例2C语言创建唯一临时文件函数mktemp
函数简介
头文件:在TC2.0中其头文件是dir.h,在Visual C++ 6.0中,更多的使用_mktemp,其头文件是io.h
定义函数 char * mktemp(char * template);
功能: mktemp()用来产生唯一的临时文件名。参数template所指的文件名称字符串中最后六个字符必须是XXXXXX。产生后的文件名会借字符串指针返回。
返回值: 文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。
其他创建临时文件的函数:tmpfile,tmpnam程序示例
程序示例1
(在Visual C++ 6.0中运行通过)
#include<stdio.h>
#include<string.h>
#include<io.h>
int main()
{
char *templat="fnXXXXXX";
char *result;
char names[5][9];
int Count ;
for(Count=0; Count<5;Count++)
{
strcpy(names[Count],templat);
result=_mktemp(names[Count]);
printf("%s\n\r",result);
}
return 0;
}
程序例fopen函数失败2
(在TC2.0中运行成功)
#include <stdio.h>
#include <dir.h>
int main(void)
{
FILE *fp;
char *fname = "d:\\TXXXXXX", *newname, first;
newname = mktemp(fname);
fp = fopen(newname,"w+");
fprintf(fp,"abcdefghijklmnopqrstuvwxyz");
rewind(fp);
fscanf(fp,"%c",&first);
printf("The first character is: %c\n",first);
fclose(fp);
remove(newname);
return 0;
}
附加说明 参数template所指的文件名称字符串必须声明为数组,如:
char template[ ]=”template-XXXXXX”;
不可用char * template=”template-XXXXXX”;
范例 #include<stdlib.h>
main()
{
char template[ ]=”template-XXXXXX”;
mktemp(template);
printf(“template=%s\n”,template);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论