问题标签 [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.
python - Python - 如何将“操作系统级句柄到打开的文件”转换为文件对象?
一个元组,包含一个打开文件的操作系统级句柄(将由 os.open() 返回)和该文件的绝对路径名,按此顺序。
如何将该操作系统级句柄转换为文件对象?
os.open()的文档指出:
要将文件描述符包装在“文件对象”中,请使用 fdopen()。
所以我尝试了:
c++ - 如何为临时文件创建 std::ofstream?
好的,mkstemp
这是在 POSIX 中创建临时文件的首选方式。
但它会打开文件并返回一个int
,这是一个文件描述符。从那我只能创建一个 FILE*,但不能创建一个std::ofstream
,我更喜欢在 C++ 中。std::ofstream
(显然,在 AIX 和其他一些系统上,您可以从文件描述符创建一个,但是当我尝试这样做时,我的编译器会报错。)
我知道我可以得到一个临时文件名,tmpnam
然后用它打开我自己的 ofstream,但这显然是不安全的,因为竞争条件,并导致编译器警告(Linux 上的 g++ v3.4.):
那么,是否有任何可移植的方式来创建std::ofstream
临时文件?
c - 如何从文件描述符中获取 FILE 指针?
我正在玩mkstemp()
,它提供了一个文件描述符,但我想通过fprintf()
. 有没有一种简单的方法可以将提供的文件描述符mkstemp()
转换FILE *
为适合与 一起使用的结构fprintf()
?
cocoa - 无法在 Mac OS X 上删除由 mkstemp() 创建的文件
显然,NSFileManager
无法删除由mkstemp()
. 下面是一些测试代码来证明这一点:
这是我在运行上述代码时在日志中看到的内容:
我在雪豹上运行这个。关于为什么会出现问题和/或如何解决问题的任何想法?
谢谢!
c++ - win32 的 mkstemp() 实现
谁能指出我在 Win32 上实现 mkstemp() (C/C++) 的代码,或者非常接近的模拟代码。
必须是无种族的。
它应该看起来像
谢谢
c++ - 与 mkstemp 等效的 C++ 标准库是什么?
我正在将使用临时文件的程序从 POSIXFILE
转换为 C++ 标准库 iostream。mkstemp 的正确替代方法是什么?
c++ - 使用从 mkstemp 生成的文件名
该mkstemp()
函数从模板生成唯一的临时文件名,创建并打开文件,并返回文件的打开文件描述符。模板的最后六个字符必须是“XXXXXX”,并替换为使文件名唯一的字符串。由于会被修改,模板不能是字符串常量,而应该声明为字符数组。
将模板替换为使文件名唯一的字符串后,我保存该字符串以供以后使用。这就是我遇到一个奇怪的问题的地方,我似乎无法解决这个问题。我可以将正确的文件名打印到我的终端,在我的文件资源管理器中查看文件并打开它以查看正确的内容,但是当我将字符串作为要执行的命令的一部分包含在内时,popen()
我得到一个指向空文件的指针。然而,当我将临时文件的名称硬编码回我的代码并再次运行时,我得到了我期望的正确结果。有什么我忽略或遗漏的吗?这是一个代码片段:
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
?
valgrind - 运行许多同时的 valgrind 进程时导致 mkstemp 失败的原因是什么?
我正在用 valgrind 测试一些软件。理想情况下,我希望一次打开 20 个或更多 valgrind 实例。但是,如果我并行运行超过 16 个实例,我会开始收到如下消息:
一些进程(可能是其中的 1/3)反而因错误而终止
运行这些调用时,不会在 /tmp 中创建任何文件,但我使用的用户帐户确实具有 /tmp 的读取、写入和执行权限。
我在网上找不到有关此错误的任何信息,但也许这里的某个地方对此有所了解?
编辑:一些进一步的实验表明,事实上,一次最多可以同时运行 5 个进程。
python - Python mkstemp 后缀
我有以下代码在我处理的 Django 项目中为我处理图像上传:
上传部分一切正常,但 mkstemp 在扩展后使用额外的 6 个随机后缀保存我的图像(例如 test.png -> test.pngbFVeyh)。即使我在第二个代码行中传递后缀,它也会附加它,但也会附加 6 个随机字符。正在发生的其他奇怪的事情是,在上传文件夹(在我的情况下为 MEDIA_ROOT)中,它与另一个与图片同名的空纯文本文档类型文件(例如 test.pngbFVeyh)一起创建。我已阅读有关 mkstemp 的文档,但没有找到任何替代解决方案。