Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.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++ System::IO::Directory::GetDirectory(“c:vs c:\\”)_C++_.net - Fatal编程技术网

C++ System::IO::Directory::GetDirectory(“c:vs c:\\”)

C++ System::IO::Directory::GetDirectory(“c:vs c:\\”),c++,.net,C++,.net,只是出于好奇 我的问题是我使用了System::IO::Directory::GetDirectories(“c:”)而不是System::IO::Directory::GetDirectories(“c:\\”) 它最终从“C:\Windows\System32”检索目录。如果我没有对其他驱动器使用反斜杠,我最终会得到我不知道存在的目录 有人能告诉我为什么会这样吗?有模式吗?何时使用?如果在路径开头(或驱动器号之后)省略反斜杠,则认为该路径相对于当前目录。您可以使用System::IO::di

只是出于好奇

我的问题是我使用了
System::IO::Directory::GetDirectories(“c:”)
而不是
System::IO::Directory::GetDirectories(“c:\\”)

它最终从
“C:\Windows\System32”
检索目录。如果我没有对其他驱动器使用反斜杠,我最终会得到我不知道存在的目录


有人能告诉我为什么会这样吗?有模式吗?何时使用?

如果在路径开头(或驱动器号之后)省略反斜杠,则认为该路径相对于当前目录。您可以使用
System::IO::directory::GetCurrentDirectory()
方法获取当前目录的值,也可以使用
System::IO::directory::SetCurrentDirectory(path)
方法对其进行更改

要澄清这一点:当当前目录是“代码> C:\Windows 时,路径<代码> C:Test.txt < /Cord>等效于C:\Windows \ Test.txt.P/> 方法返回指定路径中的所有目录,甚至是隐藏目录或系统目录(通常在Windows资源管理器中看不到)。因此,我猜您正在谈论其他驱动器中的系统目录,如

系统卷信息
$RECYCLE.BIN

值得一提的是,在Windowsshell(cmd.exe)中,每个驱动器都可以有单独的当前目录。运行时:

C:\Windows\System32> cd d:\Temp
C:\Windows\System32> dir c:
C:\Windows\System32> dir d:
您将获得
C:\Windows\System32
的内容,然后在运行时:

C:\Windows\System32> cd d:\Temp
C:\Windows\System32> dir c:
C:\Windows\System32> dir d:

您得到了
D:\Temp

+1的内容。我忘记了相对路径。但我仍然不明白的是:GetCurrentDirectory返回了项目文件夹“j:\files\solutionrion\project”(j:\是存储项目的驱动器)。当我使用未准备就绪的驱动器的字母时,会引发异常,当我使用已准备就绪的驱动器的字母时,会重定向到一些奇怪的位置。隐藏文件设置为可见,因此我可以看到目录包含的所有内容。这意味着(驱动器):和(驱动器)之间存在差异:\n我在我的计算机中看不到您的问题。查询其他驱动器时,我会获取驱动器根目录的内容。即使没有反斜杠?是。例如,运行
GetCurrentDirectory(“D:”)
时的输出是什么?您获取内容的目录是什么?当我选中
d:
时,我获取了特定驱动器上的文件,包括一些我以前从未见过的额外内容<代码>c:将我带到
c:\Windows\System32
。这两个都是内部硬盘驱动器。外部硬盘驱动器和闪存驱动器显示正确的内容。