3

是否可以从调用中获取文件名(和路径)mkstemp()?如果“是”,怎么做?

4

2 回答 2

8

mkstemp手册页

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

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

于 2015-09-08T17:02:19.970 回答
3

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

POSIX 说mkstemp()

#include <stdlib.h>

int mkstemp(char *template);

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

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

于 2015-09-08T17:01:45.383 回答