21xrx.com
2025-04-01 13:40:47 Tuesday
文章检索 我的文章 写文章
C++获取当前程序路径的方法
2023-07-13 06:53:18 深夜i     26     0
C++ 获取 当前程序路径

在C++中获取当前程序路径是一项非常重要的任务,常用于需要读取配置文件、日志文件或其他外部资源文件时。本文将介绍两种简单且常用的方法。

方法一:使用Win32 API

在Windows环境下,可以使用Win32 API函数GetModuleFileName来获取当前执行程序的全路径。

#include <windows.h>
int main() {
  TCHAR buffer[MAX_PATH];
  GetModuleFileName(NULL, buffer, MAX_PATH);
  // 此处的buffer即为当前程序路径
  return 0;
}

方法二:使用boost库

boost库是一个开源的C++库,提供了多种功能强大的工具和组件。其中就包含了获取当前程序路径的方法。

#include <boost/filesystem.hpp>
int main() {
  boost::filesystem::path full_path(boost::filesystem::initial_path());
  full_path = boost::filesystem::system_complete(boost::filesystem::path(argv[0]));
  // 此处的full_path即为当前程序路径
  return 0;
}

以上两种方法各有优劣,使用哪一种方法取决于开发者个人的习惯和项目需求。需要注意的是,以上两种方法均只适用于Windows环境下的C++程序。如果需要在Linux等其他操作系统中获取当前程序路径,需要使用其他相应的方法。

  
  

评论区