参考http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx,
如果文件名仅以磁盘标识符开头,而不以冒号后的反斜杠开头,则该文件名将被解释为驱动器上具有指定字母的当前目录的相对路径。请注意,当前目录可能是根目录,也可能不是根目录,具体取决于在该磁盘上进行最新“更改目录”操作期间将其设置为根目录。此格式的示例如下:
“ C:tmp.txt”是指驱动器C上当前目录中的一个名为“ tmp.txt”的文件。“ C:tempdir \ tmp.txt”是指驱动器C上当前目录的子目录中的一个文件。
是否有任何API可返回绝对路径,即,当传递“ C:tmp.txt”时,它应返回C:“当前工作目录” \ temp.txt
GetFullPathName返回C:\ temp.txt。
我会说这将被归类为错误的输入(或错误的规范)。
没有这样的API。您可以做的是找出第三个字符是否为路径分隔符。如果是,则它是完全限定的路径。否则,请使用GetCurrentDirectory
,并从此格式错误的路径中获取完整路径。在C:
提示符后执行以下命令,将显示以下目录:D:
C:\> DIR D:*.pdf
如您所知,不会维护驱动器级别的当前目录,应用程序必须对其进行跟踪。SetCurrentDirectory
仅设置进程的当前路径,而不考虑驱动器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句