c - Windows目录是存放临时文件的地方 - GetTempPath函数

标签 c winapi temporary-files

我正在用 C 创建一个小型库,仅适用于 Windows,以便在我想要创建应用程序时为我提供帮助。 我遇到了创建临时文件的主题。 我查看了 GetTempPath 函数文档,发现它按以下顺序使用第一个现有环境变量:

  1. TMP 环境变量指定的路径。
  2. TEMP 环境变量指定的路径。
  3. USERPROFILE 环境变量指定的路径。
  4. 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 均未设置,则让您的应用程序为临时文件创建自己的目录,该目录通常位于用户主目录中的某个位置。

如果您的应用程序在安装过程中对此进行调查,它可能会考虑将 TMPTEMP 设置为合理的目录并创建后者。

关于c - Windows目录是存放临时文件的地方 - GetTempPath函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27874559/

相关文章:

go - 调用 EnumProcessModules 时出现“意外故障地址”

c++ - 如何创建临时文件以在 Linux 平台上用 C++ 编写?

javascript - 在网页上显示大量文本的创意

c - Leetcode 中等问题(单链表)

c - 从 RegEnumKeyEx 函数返回字符串数组

c++ - 在没有 WndProc 的情况下运行 win32 事件循环的不同方式的想法?

postgresql - 为什么postgresql在磁盘空间足够的情况下提示错误 'perhaps out of disk space'?

c++ - 在 Windows 上按路径强制关闭文件

C : File redirection is not working

c - N皇后使用回溯的时间复杂度?