一、C++ 获取当前工作路径的实现代码
为了获得当前正在执行程序的工作目录,我们可以使用C++标准库函数getcwd。getcwd可以在头文件unistd.h中找到。它的原型是:
char *getcwd(char *buf, size_t size);
该函数返回当前工作路径的字符串指针,buf是一个指向存储路径名的字符数组的指针。size应该是buf的长度。
以下是一个获取当前工作路径的示例代码:
#include <iostream>
#include <unistd.h>
int main()
{
char cwd[4096];
if (getcwd(cwd, sizeof(cwd)) != NULL)
std::cout << "Current working directory is: " << cwd << std::endl;
else
perror("getcwd() error");
return 0;
}
此代码将当前工作目录存储在char数组cwd中,并输出该目录。
二、C++ 设置当前工作路径的实现代码
要更改当前工作路径,可以使用C++标准库函数chdir。 chdir可以在头文件unistd.h中找到。它的原型是:
int chdir(const char *path);
该函数成功返回0,如果失败则返回-1。此外,您可以使用perror()函数来打印错误信息。
以下是一个设置当前工作路径为“/tmp”的示例代码:
#include <iostream>
#include <unistd.h>
int main()
{
if (chdir("/tmp") == -1)
perror("chdir() error");
else
std::cout << "Current working directory is now set to: " << getcwd(NULL, 0) << std::endl;
return 0;
}
该代码设置当前工作路径为/tmp并输出新路径。请注意,我没有传递任何参数给getcwd函数。按照官方文档,如果你调用它的大小为0,则会自动动态分配一个足够大的数组以存储工作目录字符串,并返回该数组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++ 设置和获取当前工作路径的实现代码 - Python技术站