如何在C程序中获取当前目录?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我正在制作一个C程序,在这里我需要得到程序启动的目录。这个程序是为UNIX计算机编写的。我一直在看opendir()telldir(),但是telldir()返回off_t (long int)所以这真的帮不了我。

如何获得字符串(char数组)中的当前路径?

提问于
用户回答回答于

你有没有看过getcwd()?

#include <unistd.h>
char *getcwd(char *buf, size_t size);

简单的例子:

#include <unistd.h>
#include <stdio.h>
#include <errno.h>

int main() {
   char cwd[1024];
   if (getcwd(cwd, sizeof(cwd)) != NULL)
       fprintf(stdout, "Current working dir: %s\n", cwd);
   else
       perror("getcwd() error");
   return 0;
}
用户回答回答于

扫码关注云+社区