问题标签 [mkstemp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
21156 浏览

python - Python - 如何将“操作系统级句柄到打开的文件”转换为文件对象?

tempfile.mkstemp()返回:

一个元组,包含一个打开文件的操作系统级句柄(将由 os.open() 返回)和该文件的绝对路径名,按此顺序。

如何将该操作系统级句柄转换为文件对象?

os.open()的文档指出:

要将文件描述符包装在“文件对象”中,请使用 fdopen()。

所以我尝试了:

0 投票
4 回答
21351 浏览

c++ - 如何为临时文件创建 std::ofstream?

好的,mkstemp这是在 POSIX 中创建临时文件的首选方式。

但它会打开文件并返回一个int,这是一个文件描述符。从那我只能创建一个 FILE*,但不能创建一个std::ofstream,我更喜欢在 C++ 中。std::ofstream(显然,在 AIX 和其他一些系统上,您可以从文件描述符创建一个,但是当我尝试这样做时,我的编译器会报错。)

我知道我可以得到一个临时文件名,tmpnam然后用它打开我自己的 ofstream,但这显然是不安全的,因为竞争条件,并导致编译器警告(Linux 上的 g++ v3.4.):

那么,是否有任何可移植的方式来创建std::ofstream临时文件?

0 投票
3 回答
49559 浏览

c - 如何从文件描述符中获取 FILE 指针?

我正在玩mkstemp(),它提供了一个文件描述符,但我想通过fprintf(). 有没有一种简单的方法可以将提供的文件描述符mkstemp()转换FILE *为适合与 一起使用的结构fprintf()

0 投票
1 回答
1460 浏览

cocoa - 无法在 Mac OS X 上删除由 mkstemp() 创建的文件

显然,NSFileManager无法删除由mkstemp(). 下面是一些测试代码来证明这一点:

这是我在运行上述代码时在日志中看到的内容:

我在雪豹上运行这个。关于为什么会出现问题和/或如何解决问题的任何想法?

谢谢!

0 投票
3 回答
12309 浏览

c++ - win32 的 mkstemp() 实现

谁能指出我在 Win32 上实现 mkstemp() (C/C++) 的代码,或者非常接近的模拟代码。

必须是无种族的。

它应该看起来像

谢谢

0 投票
3 回答
11541 浏览

c++ - 与 mkstemp 等效的 C++ 标准库是什么?

我正在将使用临时文件的程序从 POSIXFILE转换为 C++ 标准库 iostream。mkstemp 的正确替代方法是什么?

0 投票
1 回答
5353 浏览

c++ - 使用从 mkstemp 生成的文件名

mkstemp()函数从模板生成唯一的临时文件名,创建并打开文件,并返回文件的打开文件描述符。模板的最后六个字符必须是“XXXXXX”,并替换为使文件名唯一的字符串。由于会被修改,模板不能是字符串常量,而应该声明为字符数组。

将模板替换为使文件名唯一的字符串后,我保存该字符串以供以后使用。这就是我遇到一个奇怪的问题的地方,我似乎无法解决这个问题。我可以将正确的文件名打印到我的终端,在我的文件资源管理器中查看文件并打开它以查看正确的内容,但是当我将字符串作为要执行的命令的一部分包含在内时,popen()我得到一个指向空文件的指针。然而,当我将临时文件的名称硬编码回我的代码并再次运行时,我得到了我期望的正确结果。有什么我忽略或遗漏的吗?这是一个代码片段:

0 投票
1 回答
175 浏览

c - 与 MPI_FILE_OPEN 一起使用的 MPI 感知 mkstemp(3)?

我想在 MPI 应用程序中生成一个唯一的文件名。

阅读MPI_FILE_OPEN规范 2.2 版中的“对实现者的建议”表明uriPrefix:foo/bar/baz除了通常的文件名之外的文件名foo/bar/baz也是可能的。就像文件名一样baz/PASSWORD=SECRET。MPI 实现有望使用这些附加信息做正确的事情。

这些额外的文件名元素将对mkstemp(3). 在前一种情况下,uriPrefix可以指示文件应该存放在哪里。在后一种情况下,bazXXXXXX/PASSWORD=SECRET将搞砸mkstemp(3)的模板约定。

有没有人有关于如何安全结合mkstemp(3)的建议MPI_FILE_OPEN

0 投票
1 回答
2987 浏览

valgrind - 运行许多同时的 valgrind 进程时导致 mkstemp 失败的原因是什么?

我正在用 valgrind 测试一些软件。理想情况下,我希望一次打开 20 个或更多 valgrind 实例。但是,如果我并行运行超过 16 个实例,我会开始收到如下消息:

一些进程(可能是其中的 1/3)反而因错误而终止

运行这些调用时,不会在 /tmp 中创建任何文件,但我使用的用户帐户确实具有 /tmp 的读取、写入和执行权限。

我在网上找不到有关此错误的任何信息,但也许这里的某个地方对此有所了解?

编辑:一些进一步的实验表明,事实上,一次最多可以同时运行 5 个进程。

0 投票
2 回答
1799 浏览

python - Python mkstemp 后缀

我有以下代码在我处理的 Django 项目中为我处理图像上传:

上传部分一切正常,但 mkstemp 在扩展后使用额外的 6 个随机后缀保存我的图像(例如 test.png -> test.pngbFVeyh)。即使我在第二个代码行中传递后缀,它也会附加它,但也会附加 6 个随机字符。正在发生的其他奇怪的事情是,在上传文件夹(在我的情况下为 MEDIA_ROOT)中,它与另一个与图片同名的空纯文本文档类型文件(例如 test.pngbFVeyh)一起创建。我已阅读有关 mkstemp 的文档,但没有找到任何替代解决方案。