c++获取当前工作目录
时间: 2024-09-14 14:04:38 浏览: 42
在C++中,获取当前工作目录通常涉及到操作系统级别的文件路径操作。你可以使用`<filesystem>`库(C++17及以上版本),或者在没有这个库的情况下,通过`<windows.h>`(仅限于Windows系统)来完成。以下是两种常见方法:
### 使用C++17 filesystem库
```cpp
#include <filesystem>
std::string current_dir = fs::current_path().generic_string(); // 返回一个通用格式的路径
// 或者
std::path current_dir = fs::current_path();
std::string dir_str = current_dir.string(); // 获取字符串形式
```
记得包含`#include <iostream>`来打印结果。
### Windows API(C++头文件)
```cpp
#include <Windows.h>
#include <tchar.h> // 如果使用宽字符
LPCTSTR GetCurrentDirectory(int nBufferLength = 0)
{
TCHAR szPath[MAX_PATH];
if (nBufferLength > 0 && GetLongPathName(nullptr, szPath, nBufferLength) != 0)
return szPath;
else
{
GetCurrentDirectory(MAX_PATH, szPath);
return szPath;
}
}
std::string current_dir = std::wstring(szPath).c_str(); // 转换为std::string
```
这里的`GetCurrentDirectory`函数会返回当前的工作目录。
阅读全文