Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在这个过程中,文件在哪里打开?_C++_Windows_Locked Files - Fatal编程技术网

C++ 在这个过程中,文件在哪里打开?

C++ 在这个过程中,文件在哪里打开?,c++,windows,locked-files,C++,Windows,Locked Files,我有一个为Windows平台维护的应用程序套件。我最近在一个共享库中添加了一些代码,以便在应用程序完成后删除一个目录。在一个应用中,删除成功;在另一个进程中,我收到一条消息,告诉我该文件正被另一个进程使用 下载Process Explorer后,我了解到我已经预料到的情况,即保存文件夹的进程正是试图删除它的进程 当我在谷歌上搜索答案时,我看到的是,“你需要下载XYZ以找出哪个进程保存了文件,然后关闭该进程”,其中“XYZ”是解锁器、进程浏览器等。我知道保存文件的进程,但如果我终止它,它如何删除文

我有一个为Windows平台维护的应用程序套件。我最近在一个共享库中添加了一些代码,以便在应用程序完成后删除一个目录。在一个应用中,删除成功;在另一个进程中,我收到一条消息,告诉我该文件正被另一个进程使用

下载Process Explorer后,我了解到我已经预料到的情况,即保存文件夹的进程正是试图删除它的进程

当我在谷歌上搜索答案时,我看到的是,“你需要下载XYZ以找出哪个进程保存了文件,然后关闭该进程”,其中“XYZ”是解锁器、进程浏览器等。我知道保存文件的进程,但如果我终止它,它如何删除文件夹


有人知道如何找到打开文件夹的代码吗?在可用于查找哪些进程正在使用哪些文件的工具中,是否可以使用任何工具查找文件夹在进程中的打开位置?

没有文件打开位置的“进程中的位置”概念。例如,意外打开文件的一个常见原因是句柄泄漏。这意味着文件被打开正是因为在进程中不再有文件句柄的位置。

没有文件被打开的“进程中的位置”的概念。例如,意外打开文件的一个常见原因是句柄泄漏。这意味着文件正是因为在此过程中没有文件句柄的位置而被打开的。

如果您在程序中打开了一个文件,则必须在删除它之前将其关闭。如果你想要更精确的帮助,你应该发布一些代码,也许是在那个目录中写的代码?你觉得发布这些代码怎么样?首先,我会检查我的程序堆栈中是否有
fstream
对象,以及它们是否已关闭。如果你的应用程序将文件夹设置为当前文件夹(使用
chdir
或同等工具),则可能会出现此错误,因此在尝试删除它之前,请确保你已在其他地方设置了当前文件夹。尝试删除文件夹之前的检查应该只有几行代码。除此之外,在你有应用程序源代码的情况下试图寻找软件或工具是愚蠢的,我认为。在源代码中搜索你正在打开文件或试图删除文件或文件夹的位置;你可以用一个简单的
grep
找到它们,比你找到一个工具并学习如何使用它要快得多。如果你在程序中打开了一个文件,你必须在删除它之前关闭它。如果你想要更精确的帮助,你应该发布一些代码,也许是在那个目录中写的代码?你觉得发布这些代码怎么样?首先,我会检查我的程序堆栈中是否有
fstream
对象,以及它们是否已关闭。如果你的应用程序将文件夹设置为当前文件夹(使用
chdir
或同等工具),则可能会出现此错误,因此在尝试删除它之前,请确保你已在其他地方设置了当前文件夹。尝试删除文件夹之前的检查应该只有几行代码。除此之外,在你有应用程序源代码的情况下试图寻找软件或工具是愚蠢的,我认为。在源代码中搜索你正在打开文件或试图删除文件或文件夹的位置;你可以用一个简单的
grep
找到它们,比你找到一个工具并学习如何使用它要快得多。