我正在制作一个 C 程序,我需要在其中获取程序启动的目录。该程序是为 UNIX 计算机编写的。我一直在看opendir()and telldir(),但telldir()返回 a off_t (long int),所以它真的对我没有帮助。
opendir()
telldir()
off_t (long int)
如何获取字符串(字符数组)中的当前路径?
你看过getcwd()吗?
getcwd()
#include <unistd.h> char *getcwd(char *buf, size_t size);
简单的例子:
#include <unistd.h> #include <stdio.h> #include <limits.h> int main() { char cwd[PATH_MAX]; if (getcwd(cwd, sizeof(cwd)) != NULL) { printf("Current working dir: %s\n", cwd); } else { perror("getcwd() error"); return 1; } return 0; }