【发布时间】:2010-10-25 14:06:51
【问题描述】:
是否有一个 win32 函数可以告诉我路径是相对路径还是绝对路径?
谢谢,
【问题讨论】:
是否有一个 win32 函数可以告诉我路径是相对路径还是绝对路径?
谢谢,
【问题讨论】:
【讨论】:
\test.exe。或者,也许我正在尝试一种极端情况,我希望多个反斜杠被视为一个。我关于“相对于当前驱动器”的评论让我觉得我希望 \test.exe 报告为相对的。
正如 jeffamaphone 所说:您可以使用 Shlwapi 函数PathIsRelative() 来确定给定路径是相对路径还是绝对路径。
但我想补充一点,您可以使用以下方法轻松地将相对路径转换为绝对路径 _fullpath(),并使用PathRelativePathTo()从绝对路径到相对路径。
希望这会有所帮助!
【讨论】:
_fullPath 的文档已移至 here。此外,在处理路径时使用这些函数的 ANSI 版本几乎总是一个非常糟糕的主意,除非您的目标是非常旧的 Windows 版本。如果您使用 ACP / ANSI 版本的函数,您的程序将无法处理名称为 바위처럼 단단한/ 的文件夹。您应该始终使用这些函数的 W 版本,至少在 Win10 中对 UTF-8 的支持结束测试之前。