C++ 如何使用tmpfile()获取临时文件名
tmpfile()函数表示: 当流关闭(fclose)或程序正常终止时,创建的临时文件将自动删除。如果程序异常终止,文件是否被删除取决于特定的系统和库实现。” 函数的作用是:返回一个指向创建的临时文件的流指针,而不是文件的路径。 我需要临时文件名路径,因为它需要传递其他库函数 我的应用程序可能会异常退出,因此tmpfile()函数可以在异常退出时工作C++ 如何使用tmpfile()获取临时文件名,c++,c,C++,C,tmpfile()函数表示: 当流关闭(fclose)或程序正常终止时,创建的临时文件将自动删除。如果程序异常终止,文件是否被删除取决于特定的系统和库实现。” 函数的作用是:返回一个指向创建的临时文件的流指针,而不是文件的路径。 我需要临时文件名路径,因为它需要传递其他库函数 我的应用程序可能会异常退出,因此tmpfile()函数可以在异常退出时工作 如何获取临时文件路径并在退出时自动删除文件您可以使用tmpname(),而不是使用tmpfile() 它将返回一个可用于创建临时文件的文件名 请参
如何获取临时文件路径并在退出时自动删除文件您可以使用tmpname(),而不是使用tmpfile() 它将返回一个可用于创建临时文件的文件名 请参见以下示例(摘自):
#包括
int main()
{
字符缓冲区[L_tmpnam];
字符*指针;
tmpnam(缓冲器);
printf(“Tempname#1:%s\n”,缓冲区);
指针=tmpnam(NULL);
printf(“Tempname#2:%s\n”,指针);
返回0;
}
然后,您可以使用此文件名创建文件,并在退出时将其删除
编辑:
- tmpnam返回的名称未指定任何路径。fopen使用的默认路径将是您当前的工作目录
- 由您自行删除该文件。该操作不会自动完成。您可以通过调用来完成
mktemp
由于可能的竞争条件而不安全。如何获取临时文件路径并在上自动删除文件exit@hafiz:你可能想要。
#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;
}