为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
慕桂英546537 2019-08-31 14:38:41
我正在制作一个C程序,我需要从中获取程序启动的目录。该程序是为UNIX计算机编写的。我一直在寻找opendir()和telldir(),但telldir()返回off_t (long int),所以它确实没有帮助我。如何在字符串(char数组)中获取当前路径?
查看完整描述

4 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

你看过了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;

}


查看完整回答
反对 回复 2019-08-31
?
长风秋雁

TA贡献1757条经验 获得超7个赞

查找手册页getcwd


查看完整回答
反对 回复 2019-08-31
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

#include <stdio.h>  /* defines FILENAME_MAX */

//#define WINDOWS  /* uncomment this line to use it for windows.*/

#ifdef WINDOWS

#include <direct.h>

#define GetCurrentDir _getcwd

#else

#include <unistd.h>

#define GetCurrentDir getcwd

#endif


int main(){

  char buff[FILENAME_MAX];

  GetCurrentDir( buff, FILENAME_MAX );

  printf("Current working dir: %s\n", buff);

  return 1;

}


查看完整回答
反对 回复 2019-08-31
  • 4 回答
  • 0 关注
  • 982 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信