为了处理跨平台兼容性,getcwd
函数在不同的操作系统中可能有不同的实现。在C++中,你可以使用标准库中的
头文件,它提供了一个跨平台的current_path
函数,可以用来获取当前工作目录。
以下是一个简单的示例:
#include#include int main() { try { std::filesystem::path current_path = std::filesystem::current_path(); std::cout << "Current working directory: " << current_path << std::endl; } catch (const std::filesystem::filesystem_error& e) { std::cerr << "Error: " << e.what() << std::endl; } return 0; }
这个示例使用了C++17的
库,它提供了一个跨平台的API来处理文件系统操作。current_path
函数返回一个std::filesystem::path
对象,表示当前工作目录。如果在获取当前工作目录时发生错误,将抛出std::filesystem::filesystem_error
异常。
请注意,为了使这个示例正常工作,你需要确保你的编译器支持C++17标准,并在编译时启用C++17支持。例如,如果你使用的是g++编译器,可以使用以下命令行选项来启用C++17:
g++ -std=c++17 -o my_program my_program.cpp