c++ - Windows服务创建文件的默认目录在哪里?

标签 c++ windows winapi windows-services

我创建了一个将字符串附加到文件的 Windows 服务。 因此,它第一次创建一个文件,然后每 10 秒向其中追加一个字符串。

所以,我的问题是 Windows 服务创建文件的默认目录在哪里,如果未指定。它似乎不是该服务的可执行目录,因为我没有看到那里正在创建任何文件。 Google 不再是我的伙伴。

任何帮助都是无价的。

谢谢。

最佳答案

在这方面,服务没有什么特别之处。如果指定相对路径,则它是相对于进程当前目录(也称为工作目录)的。这记录在案:Naming Files, Paths, and Namespaces, Fully Qualified vs. Relative Paths .

因此,您的问题的答案是您的文件保存在进程当前目录中,无论碰巧是什么。以这种方式使用相对路径的结果是您受进程当前目录的支配。这并不总是可以预测的。因此,最佳做法是不要为此类任务使用相对路径。要明确。确定文件的存储位置,并使用完全限定的绝对路径。

关于c++ - Windows服务创建文件的默认目录在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34265199/

相关文章:

windows - 在 Windows 上将 PNG 文件提交到 Git 破坏了 %PNG\r\n header

linux - 如何从 Linux 机器激活 Windows 上的程序

windows - UWP。更改 .appxmanifest 是否会触发本地应用程序数据被删除?

c++ - 无法使用 memcpy 写入内存,但可以使用 WriteProcessMemory

c++ - 使用低级 WinAPI 调用的 C++ 中的 Windows 窗体自动化?

还包括现有变量的 C++17 结构化绑定(bind)

C++ DirectShow 视频和音频捕获 - 开始

c++ - 在 C++ 中将虚函数设为私有(private)

c++ - 使用指针/引用影响本地成员的多态调用

c - 如何创建一个 unicode 编辑控件来接受代码大于 127 的字符