path:
对于操作文件的Windows API函数,文件名通常可以相对于当前目录,而某些API需要完全限定的路径。如果文件名不是以以下某个开头,则它是相对于当前目录的:
任何格式的UNC名称,始终以两个反斜杠字符(“\”)开头。
带有反斜杠的磁盘指示符,例如“C:\”或“D:\”。
一个反斜杠,例如,“\directory”或“\file.txt”。这也被称为绝对路径。
如果文件名仅以磁盘指示符开头,而不是冒号后的反斜杠,则它将被解释为驱动器上当前目录的相对路径,并带有指定的字母。请注意,当前目录可能是根目录,也可能不是根目录,这取决于它在该磁盘上最近的“更改目录”操作中设置的内容。此格式的示例如下:
“c:tmp.txt”是指驱动器c上当前目录中名为“tmp.txt”的文件。
“c:tempdir\tmp.txt”是指驱动器c上当前目录的子目录中的文件。
如果一条路径包含“双点”,那么它也被称为相对路径;也就是说,在路径的一个组成部分中,两个句点在一起。这个特殊的说明符用于表示当前目录上的目录,也就是所谓的“父目录”。此格式的示例如下:
“..tmp.txt”指定一个名为tmp.txt的文件,该文件位于当前目录的父目录中。
“..\..\tmp.txt”指定当前目录上两个目录的文件。
“.\tempdir\tmp.txt”指定名为tmp.txt的文件,该文件位于名为tempdir的目录中,该目录是当前目录的对等目录。
相对路径可以组合这两种示例类型,例如“c:..\tmp.txt”。这很有用,因为尽管系统跟踪当前驱动器以及该驱动器的当前目录,但它也跟踪每个不同驱动器号中的当前目录(如果您的系统有多个驱动器号),而不管哪个驱动器代号设置为C当前驱动。
在Windows API中,路径的最大长度是max_path,定义为260个字符。本地路径的结构顺序如下:驱动器号、冒号、反斜杠、由反斜杠分隔的名称组件和终止的空字符。例如,驱动器d上的最大路径是“d:\some 256 character path string”,其中“<nul>”表示当前系统代码页的不可见终止空字符。(字符<>在此处用于视觉清晰度,不能是有效路径字符串的一部分。)
Windows API有许多函数,它们也有Unicode版本,允许扩展长度路径的最大路径长度为32767个字符。此类型的路径由反斜杠分隔的组件组成,每个组件的值都达到GetVolumeInformation函数的lpMaximumComponentLength参数中返回的值(此值通常为255个字符)。要指定扩展长度路径,请使用\ \ \ \?\\“前缀。例如,“\\”?\\ D:\ \非常长的路径”。