gpt4 book ai didi

c++ - 系统::IO::目录::GetDirectories( "c: vs c:\\")

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:54 25 4
gpt4 key购买 nike

只是好奇,

我遇到的问题是我使用了 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 等同于 C:\Windows\test .txt.

GetDirectories方法返回指定路径中的所有目录,甚至是隐藏目录或系统目录(通常在 Windows 资源管理器中看不到)。所以我猜您是在谈论其他驱动器中的系统目录,例如 System Volume Information$RECYCLE.BIN

值得一提的是,在 Windows shell (cmd.exe) 中,我们可以为每个驱动器设置单独的当前目录。当你运行时:

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

你得到 C:\Windows\System32 的内容,然后当你运行时:

C:\Windows\System32> dir d:

你得到 D:\Temp 的内容

关于c++ - 系统::IO::目录::GetDirectories( "c: vs c:\\"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16496787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com