我正在用 C 创建一个小型库,仅适用于 Windows,以便在我想要创建应用程序时为我提供帮助。 我遇到了创建临时文件的主题。 我查看了 GetTempPath 函数文档,发现它按以下顺序使用第一个现有环境变量:
TMP
环境变量指定的路径。- 由
TEMP
环境变量指定的路径。 - 由
USERPROFILE
环境变量指定的路径。 - Windows 目录。
问题是:如果由于某种原因前三个变量不存在并且函数返回Windows目录C:\Windows\
,那么这个目录是放置临时文件的地方吗?
如果不是,那么为什么函数要返回它?
编辑:那么我应该把临时文件放在哪里?
我不想抛出访问被拒绝错误
或找不到临时路径错误
最佳答案
C:\Windows\, is this directory a place to put temporary files?
绝对不是。 (这假设 C:\Windows\
是 GetWindowsDirectory ()
返回的 Windows 目录)。
此外,在任何最近安装的 Windows 上,普通用户甚至无法向 Windows 目录写入任何内容(例如 C:\Windows\
)。
如果以上三个 env/var/s 均未设置,则让您的应用程序为临时文件创建自己的目录,该目录通常位于用户主目录中的某个位置。
如果您的应用程序在安装过程中对此进行调查,它可能会考虑将 TMP
或 TEMP
设置为合理的目录并创建后者。
关于c - Windows目录是存放临时文件的地方 - GetTempPath函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27874559/