纯C/C++程序中如何获取当前目录和程序目录

边城狂人 2007-09-07 02:10:12
不用Windows库(主要是控制台编程),可以用STL库。

标准C/C++函数最好,如果标准C/C++里没有,请分别给出在Windows和Linux下的方案。

据说chdir可以修改当前目录,但当前目录是在哪里用什么获取呢?

main的第0个参数是命令本身,但是可执行文件的路径是什么呢?
...全文
31440 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jonglin 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 akirya 的回复:]

long getcwd(char *buf, unsigned long size);
[/Quote]

此方法不错
  • 打赏
  • 举报
回复
“当前目录”是个什么概念?? 它与 应用程序(exe)所以目录有什么区别呢?
  • 打赏
  • 举报
回复
“当前目录”是个什么概念??
Linux-Torvalds 2010-04-18
  • 打赏
  • 举报
回复
很好,很好,受教了~~
lcs0000824 2008-09-03
  • 打赏
  • 举报
回复
.\\ ----------- 应该是这个!!
星羽 2007-09-10
  • 打赏
  • 举报
回复
当前工作目录 getcwd

程序目录 GetModuleFileName(NULL, str, sizeof(str))
冷月清晖 2007-09-10
  • 打赏
  • 举报
回复
是不是忽略了 '.' 呢?当前目录: ".\\yourfilesOryourDir"
wlk 2007-09-10
  • 打赏
  • 举报
回复
getcwd当前目录
GetModuleFileName
Wolf0403 2007-09-10
  • 打赏
  • 举报
回复
Linux 下可以用 readlink /proc/self/exe 的方法得到。
Wolf0403 2007-09-10
  • 打赏
  • 举报
回复
可执行文件的路径应该是没有标准库的方法得到了。
mdj_boy 2007-09-10
  • 打赏
  • 举报
回复 1
当前目录:
getcwd

程序目录:
win32:GetModuleFileName
linux:readlink
边城狂人 2007-09-09
  • 打赏
  • 举报
回复
获取当前目录的问题已经解决了。
现在需要获取程序路径啊。就是当前运行的可执行文件的路径啊!
laiwusheng 2007-09-08
  • 打赏
  • 举报
回复
查看include文件夹下的dir.h
jixingzhong 2007-09-08
  • 打赏
  • 举报
回复
dir.h

这个头文件可能被命名为 direct.h 或者其他 ...
jixingzhong 2007-09-08
  • 打赏
  • 举报
回复
函数名称: getcwd
函数原型: char *getcwd(char *dir,int len)
函数功能: 得到当前路径名称
函数返回: 指向dir的指针
参数说明: len-路径最大长度.dir-路径字符串.
所属文件: <dir.h>

#include <stdio.h>
#include <dir.h>
int main()
{
char buffer[MAXPATH];
getcwd(buffer, MAXPATH);
printf("The current directory is: %s", buffer);
return 0;
}
边城狂人 2007-09-08
  • 打赏
  • 举报
回复
expter(Acm/STL/MFC/Spring) ( ) 信誉:100 2007-9-8 14:29:57 得分: 0
GetCurrentDirectory 不能在Linux下使用吧。


获取当前路径的问题 akirya(坏[其实偶不是什么所谓的坏人]) 已经解决了,用
long getcwd(char *buf, unsigned long size);

现在解决剩下那个问题吧……怎么获取程序路径:不用Windows API更不用MFC或者BCB。QT、GTK之类的东西也不用。








expter 2007-09-08
  • 打赏
  • 举报
回复
GetCurrentDirectory
边城狂人 2007-09-08
  • 打赏
  • 举报
回复
chai2010(C/C++/Qt/OpenGL/OpenCV...)

QT是方便,不过QT要收费。而且为了一个小小的Win32程序,用QT那么庞大的库,不划算吧。
chai2010 2007-09-07
  • 打赏
  • 举报
回复
用Qt吧,Windows/Linux/Mac都是一样的函数
  • 打赏
  • 举报
回复
long getcwd(char *buf, unsigned long size);

65,183

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧