相关疑难解决方法(0)

Linux中的匿名inode是什么?

我做了一个关于"匿名inode"的谷歌搜索,它似乎与epoll有关......但究竟是什么呢?

linux inode epoll

20
推荐指数
2
解决办法
1万
查看次数

如何在C++中创建临时目录?

我正在用C++编写一个函数来创建一个临时目录.这样的功能应该尽可能地便携,例如它应该在linux,mac和win32环境下工作.我如何实现这一目标?

c++ linux winapi temporary-directory

9
推荐指数
3
解决办法
2万
查看次数

如何在 C++11 中安全且可移植地创建和使用临时文件?

我正在写一个库。在我的一个单元测试中,我想创建一个临时文件,进行一些涉及该文件的库调用,并在退出时删除该文件(成功、失败和异常 - 清理很重要!)。

十多年前,有人问:如何在 C++ 中创建临时文本文件?。但是 - 答案要么是不可移植的,要么不是一个正确的完整解决方案(例如,您得到一个文件描述符,但没有明显的方式来获取名称,因此您无法按名称访问文件(std::tmpfile);您得到一个名称( std::tmpnam) 但不能确定它尚未使用;等等。)如果这个问题得到解决,我想我的问题将由围绕其中一些调用的一些 RAII 包装器来回答。但是 - 我关心当前的现实。

我的库必须可与 C++11 一起使用,因此如果可能的话,我更喜欢 C++11 解决方案。使用 Boost 是可以接受的,但不可取。

c++ unit-testing temporary-files c++11

7
推荐指数
0
解决办法
1106
查看次数

如何使用tmpfile()获取临时文件名

tmpfile() 函数说:

创建的临时文件在流关闭(fclose)或程序正常终止时自动删除。如果程序异常终止,文件是否被删除取决于具体的系统和库实现。”

tmpfile() 函数返回一个指向创建的临时文件的流指针,而不是文件的路径。我需要临时文件名路径,因为它需要传递其他库函数。

我的应用程序可以异常退出,所以 tmpfile() 函数可以在异常退出时在这里工作。

如何获取临时文件路径并在退出时自动删除文件

c c++

5
推荐指数
1
解决办法
4114
查看次数

警告:使用‘tmpnam’是危险的,最好使用‘mkstemp’

(注意:这不是一个重复的问题)

我正在使用 libc 函数tmpnam,并收到以下警告:

warning: the use of 'tmpnam' is dangerous, better use 'mkstemp'
Run Code Online (Sandbox Code Playgroud)

我的问题不是“如何禁用警告”,而是“我应该使用什么功能”?mkstemp没有帮助,因为我没有尝试创建临时文件 - 我正在创建一个临时目录。而且 AFAIK,没有用于此的 API 函数。

所以,如果我不应该使用tmpnam什么我应该用?

linux api warnings libc

4
推荐指数
1
解决办法
1万
查看次数