zoukankan      html  css  js  c++  java
  • 运行的应用程序的当前工作目录和所在的目录的区别

         周末和一个做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;	
    }

    云腾软件
  • 相关阅读:
    700.二叉搜索树中的搜索
    645.错误的集合
    567.字符串的排列
    560.和为K的子数组
    518.零钱兑换 II
    516.最长回文子序列
    509.斐波那契数
    503.下一个更大元素 II
    496.下一个更大元素 I
    leetcode 1171 Remove Zero Sum Consecutive Nodes from Linked List
  • 原文地址:https://www.cnblogs.com/yongqiangyue/p/3984800.html
Copyright © 2011-2022 走看看