tmpfile()函数说:
当流关闭(fclose)或程序正常终止时,将自动删除创建的临时文件。如果程序异常终止,文件是否被删除取决于特定的系统和库实现。"
tmpfile()函数返回指向创建的临时文件的流指针,而不是文件路径。 我需要临时文件名路径,因为它需要传递其他库函数。
我的应用程序可以异常退出,因此tmpfile()函数可以在异常退出时工作。
如何在退出
时自动删除临时文件路径和文件答案 0 :(得分:0)
您可以使用tmpname()。
,而不是使用tmpfile()它将返回一个可用于创建临时文件的文件名。
请参阅以下示例(摘自http://www.cplusplus.com/reference/cstdio/tmpnam/):
#include <stdio.h>
int main ()
{
char buffer [L_tmpnam];
char *pointer;
tmpnam (buffer);
printf ("Tempname #1: %s\n", buffer);
pointer = tmpnam (NULL);
printf ("Tempname #2: %s\n", pointer);
return 0;
}
然后,您可以使用此文件名创建文件并在退出时将其删除。
修改强>
tmpnam返回的名称未指定任何路径。 fopen使用的默认路径将是您当前的工作目录。
您可以删除该文件。它不会自动完成。您可以致电remove。