运行的应用程序的当前工作目录和所在的目录的区别

 我来答
受司大人
推荐于2017-11-27 · 知道合伙人影视综艺行家
受司大人
知道合伙人影视综艺行家
采纳数:20262 获赞数:171846
毕业于浙江广厦,有一定的电脑专业基础和两年工作经验,读过相关书籍多本

向TA提问 私信TA
展开全部
周末和一个做linux平台开发的朋友讨论了下如何获取当前运行程序所在的目录的问题。首先我在这里简单的介绍下运行的应用程序的当前工作目录和运行应用程序所在的目录的区别?
当前工作目录 (Current Working Directory)

一般来说,每个进程都有一个与之相关联的分级文件系统(hierarchical file system)下的目录,称之为该进程的当前工作目录。如果程序刚进入main入口处的时候,当前工作目录其实就是程序启动的目录,但是当前工作目录是可以通过程序进行设置或者随着OpenFileDialog、SaveFileDialog等对象所确定的目录而改变。所以使用的时候要小心。

应用程序所在的目录
该进程从中启动的目录,即程序文件自身所在的目录。
所以,当前工作目录和程序所在的目录可以不同。

Windows获取程序全路径的接口是:GetModuleFileName
C Run-Time 库获取程序全路径接口是:_get_tpgmptr

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char a[MAX_PATH] = {0};
WCHAR *p = NULL;
_get_tpgmptr(&p);
wcout << p << endl;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式