Pre*_*eti 41
更新:感谢@RoiDanton,最新答案是std::filesystem::temp_directory_path(C++ 17)
尝试boost::filesystem的temp_directory_path()内部使用:
ISO/IEC 9945(POSIX) :通过在列表中找到的第一个环境变量提供的路径TMPDIR,TMP,TEMP,TEMPDIR.如果找不到这些,"/tmp".
Windows:Windows GetTempPathAPI函数报告的路径.
有趣的是,窗口的GetTempPath使用类似的逻辑的POSIX版本:在列表中的第一个环境变量TMP,TEMP,USERPROFILE.如果找不到这些,则返回Windows目录.
这些方法主要依赖于环境变量的事实看起来有点糟糕.但那就好像是如何确定的.看到它真的是多么平凡,你可以轻松地使用自己cstdlib的getenv功能,特别是如果你想要特定的订单优先级/要求或者不想使用其他库.
$TMPDIR根据POSIX,使用环境变量.
char const *folder = getenv("TMPDIR");
if (folder == 0)
folder = "/tmp";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23597 次 |
| 最近记录: |