函数
GLibpath_is_absolute
声明 [src]
gboolean
g_path_is_absolute (
const gchar* file_name
)
说明 [src]
如果给定的 file_name
是一个绝对文件名称,则返回 TRUE
。请注意,这是一个多少有些含糊的概念,具体取决于 Windows。
在 POSIX 系统中,绝对文件名称定义明确。它始终从单个根目录开始。例如 " /usr/local"。
在 Windows 中,当前驱动器和特定于驱动器的当前目录的概念引入了模糊性。此函数将以目录分隔符开始的文件名称(如 “\Users\tml”)或以驱动器上的根目录开始的文件名称(如 "C:\Windows")解释为绝对文件名称。第一种情况还包括 UNC 路径,例如 “\\myserver\\docs\\foo” 。在所有情况下,都可以接受斜杠或反斜杠。
请注意,相对于当前驱动器根目录的文件名称实际上不会随着时间推移和进程而唯一指定一个文件,因为当前驱动器是每个进程的值,并且可以更改。
相对于特定驱动器上当前目录的文件名称(例如 “D:foo/bar”)不被此函数解释为绝对名称,但它们显然也不相对于 getcwd()
或 g_get_current_dir()
返回的普通当前目录。应该避免使用这样的路径,或者需要使用特定于 Windows 的代码进行处理。