【问题标题】:How to get the fully qualified path name in C++如何在 C++ 中获取完全限定的路径名
【发布时间】:2011-04-28 21:50:18
【问题描述】:

是否有一个函数可以返回任何输入文件的完全限定路径名?

我在想这样的事情:

LPCSTR path = "foo.bar"
LPCSTR fullPath = FullyQualifiedPath(path);
//fullPath now equals C:\path\to\foo.bar

谢谢

【问题讨论】:

  • 这是一个平台相关的问题。听起来你使用的是 Win32?
  • 作为对未来搜索的帮助:完全限定路径名通常被称为绝对路径

标签: c++ winapi path fully-qualified-naming


【解决方案1】:

在 Win32 中,调用 GetFullPathName 函数。

【讨论】:

  • 请注意,在 NTFS 上,尤其是硬链接,这将返回文件的完整路径名之一(如果它只有一个,那么没关系)。只是抬起头来。
【解决方案2】:

使用 boost::filesystem http://www.boost.org/doc/libs/1_44_0/libs/filesystem/v2/doc/index.htm

#include <iostream>
#include <boost/filesystem.hpp>

int main()
{
    boost::filesystem::path p = boost::filesystem::complete("foo.bar");
    std::cout << p;
}

【讨论】:

  • 感谢您的回答,但我无法使用任何外部库。
猜你喜欢
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
相关资源
最近更新 更多