_getcwd函数的用法
时间: 2023-10-15 19:05:55 浏览: 46
_getcwd函数是C语言中的一个函数,其作用是获取当前工作目录的路径。其函数原型是:
```
char *_getcwd(char *buf, size_t size);
```
其中,buf表示存放当前工作目录的路径的缓冲区,size表示buf缓冲区的大小。如果buf缓冲区的大小不够存放当前工作目录的路径,_getcwd函数将返回NULL,并且errno被设置为ERANGE。
当buf为NULL时,_getcwd函数将自动分配足够的空间来存放当前工作目录的路径,并返回指向该空间的指针。这时,需要使用free函数来释放空间。
例如,以下代码演示了如何使用_getcwd函数获取当前工作目录的路径:
```
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
char *buf;
buf = (char *)malloc(1024 * sizeof(char));
if (_getcwd(buf, 1024) != NULL) {
printf("Current working directory: %s\n", buf);
} else {
perror("_getcwd error");
return EXIT_FAILURE;
}
free(buf);
return EXIT_SUCCESS;
}
```
该代码使用了malloc函数动态分配了一个大小为1024的缓冲区,然后调用_getcwd函数来获取当前工作目录的路径,并打印出来。最后,使用free函数释放了动态分配的缓冲区。