21xrx.com
2024-12-22 18:16:50 Sunday
登录
文章检索 我的文章 写文章
如何使用C++获取指定文件的绝对路径?
2023-07-07 18:13:43 深夜i     --     --
C++ 获取 指定文件 绝对路径

C++是一种流行的编程语言,它在许多应用程序中得到广泛使用。在许多情况下,我们需要获取指定文件的绝对路径,即文件所在的完整路径。在C++中,有多种方法可以实现这一目的,下面将介绍其中两种方法。

方法一:使用GetCurrentDirectory和PathCombine函数

GetCurrentDirectory函数用于获取当前工作目录的完整路径。PathCombine函数用于将两个路径名合并为一个完整路径名。

在使用此方法时,我们需要将文件名传递给PathCombine函数。以下是代码示例:


#include <iostream>

#include <windows.h>

#include <shlwapi.h>

#pragma comment(lib, "shlwapi.lib")

using namespace std;

int main()

{

  TCHAR path[MAX_PATH];

  GetCurrentDirectory(MAX_PATH, path);

  TCHAR file[] = "example.txt";

  PathCombine(path, path, file);

  cout << path << endl;

  return 0;

}

方法二:使用GetFullPathName函数

GetFullPathName函数用于获取指定文件的完整路径。需要传递文件名和指向缓冲器的指针,函数会将完整路径存储在缓冲区中并返回其长度。

以下是代码示例:


#include <iostream>

#include <windows.h>

using namespace std;

int main()

{

  TCHAR file[] = "example.txt";

  TCHAR path[MAX_PATH];

  DWORD result = GetFullPathName(file, MAX_PATH, path, NULL);

  if (result)

  {

    cout << path << endl;

  }

  else

  {

    cout << "Error: " << GetLastError() << endl;

  }

  return 0;

}

无论您使用哪种方法,都可以轻松地获取指定文件的绝对路径。这对于许多应用程序都是非常有用和必需的操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复