首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C程序中获取当前目录?

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

Stack Overflow用户
提问于 2008-11-18 19:36:29
回答 5查看 341K关注 0票数 187

我正在编写一个C程序,其中我需要获取启动该程序的目录。这个程序是为UNIX计算机编写的。我一直在寻找opendir()telldir(),但是telldir()返回了一个off_t (long int),所以它对我没有什么帮助。

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-11-18 19:38:25

你看过getcwd()吗?

代码语言:javascript
复制
#include <unistd.h>
char *getcwd(char *buf, size_t size);

简单的例子:

代码语言:javascript
复制
#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;
}
票数 336
EN

Stack Overflow用户

发布于 2008-11-18 11:37:30

查找getcwd的手册页。

票数 60
EN

Stack Overflow用户

发布于 2017-12-19 06:39:40

代码语言:javascript
复制
#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;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/298510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档