获取由mkstemp()创建的文件名

时间:2015-09-08 16:57:57

标签: c file mkstemp

是否可以通过调用mkstemp()获取文件名(和路径)?如果"是",怎么样?

2 个答案:

答案 0 :(得分:5)

来自mkstemp manual page

  

模板的最后六个字符必须是“XXXXXX”,并且这些字符将替换为使文件名唯一的字符串。由于它将被修改,因此模板不能是字符串常量,而应该声明为字符数组。

因此,您声明一个数组并将其传递给函数,该函数将对其进行修改,然后您将在数组中包含文件名。

答案 1 :(得分:3)

输入字符串被修改为文件名。因此,它不能是字符串文字。

POSIX说mkstemp()

#include <stdlib.h>

int mkstemp(char *template);
     

mkstemp()函数将用唯一的路径名替换template指向的字符串的内容,并返回打开的文件的文件描述符以供读取和写入。 ... template中的字符串应该看起来像一个带有六个尾随'X'的路径名; mkstemp()将每个'X'替换为可移植文件名字符集中的字符。 ...

同一页面还描述了可用于创建临时目录的mkdtemp()

相关问题