当前位置:  开发笔记 > 编程语言 > 正文

_fullpath返回驱动后者的当前路径

如何解决《_fullpath返回驱动后者的当前路径》经验,为你挑选了1个好方法。

在Windows程序中,我使用_fulpath函数来获取文件/目录的绝对路径.

以下是我的方框中的示例代码及其输出:

void PrintFullPath(char * partialPath)
{
    char full[_MAX_PATH];
    if (_fullpath(full, partialPath, _MAX_PATH) != NULL)
        printf("Full path is: %s\n", full);
    else
        printf("Invalid path\n");
}

int main(void)
{
    PrintFullPath("c:\\tmp\\");
    PrintFullPath("c:");
    PrintFullPath("f:");
}

完整路径是:c:\ tmp \

完整路径为:C:\ Users\Projects\fullpath\fullpath

全路径是:F:\

在第二个PrintFullPath中,如果我从C盘中的某个路径运行我的exe,PrintFullPath给我程序的CWD而不是c:.第一和第三PrintFullPath工作正常.

此外,如果我用"c:\\"调用PrintFullPath,它工作正常.知道为什么会这样做吗?



1> Andrew Henle..:

因为那是DOS的工作方式.

打开一个命令窗口.F:例如,输入.您当前的驱动器可能会更改为F:\.切换到F:驱动器上的另一个目录.现在,C:通过输入更改为C:,并更改为C:驱动器上的目录.重新输入F:,你会发现你仍然在F:你以前的驱动器上的同一目录中.

在Windows上,每个驱动器都有自己的当前目录.请参阅为什么每个驱动器都有自己的当前目录?

C:指当前目录C:驱动器-而不是根目录C:驱动器做为所为代表C:\.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有