获取程序工作路径的方法

转载 2006年06月05日 18:14:00
获取程序工作路径的方法
(作者:段炼 2000年10月08日 10:32)

  我们知道,应用程序完成诸如文件读写这样的功能时通常需要先取得应用程序的当前工作路径,而不同用户系统中程序安装路径往往各异。因此,获取程序工作路径的方法在实际编程中是很有用的,不同的编程语言对此提供了不同的方法。



Visual Basic(VB)
  VB中通过App关键字来实现的对程序全局对象的访问,App对象的Path属性直接指出了应用程序的工作路径。

  例如,下面的代码实现在程序运行中PictureBox控件动态加载位于工作目录的image子目录下的图像文件picture1.gif :

FilePosition = App.Path & "/image/picture1.gif"

Picture1.Picture = LoadPicture(FilePosition)



Visual C++ (VC)
  MFC似乎并没有直接提供取得应用程序工作路径的方法,但在VC中可以简单使用C语言中的getcwd函数(在<direct.h>中说明)来取工作路径。

  例如:

char buffer[_MAX_PATH];

if(_getcwd(buffer,_MAX_PATH)==NULL)

cout<< "_getcwd error"<<"/n";

else

cout<<buffer<<"/n";

  输出为工作路径:

     E:/PathInfo/Debug



Delphi
  在Delphi中,调用函数ParamStr(0)可以取得可执行文件的完整路径信息(工作路径加可执行文件名),再调用ExtractFileDir或ExtractFilePath函数即可提取出应用程序工作目录或路径。例如:

   label1.caption:=ExtractFileDir(ParamStr(0));

   label2.caption:=ExtractFilePath(ParamStr(0));

  其显示结果分别为:

   E:/PathInfo

   E:/PathInfo/



C++Builder(BCB)
  C++Builder完全兼容ANSI C、C++,因而同VC一样,我们也可以调用C语言中的getcwd函数来取工作路径。此外,BCB语言还提供了如ParamStr()、ExtractFilePath等与Delphi一致的函数,我们只需将Delphi中的"."改为BCB中的"->"即可同样使用。例如,在Label1中显示工作路径:

  Label1->Caption=ExtractFilePath(ParamStr(0));

  需注意的只是BCB区别大小写而Delphi不区别大小写。



Java (JDK、VJ++、JBuilder等)
  在跨平台语言Java中,有关Application的全局信息放置在一个Properties(Hashtable类的一个子类)对象中,键"user.dir"所对应的值即工作路径。通过System.getProperty("user.dir")即可取得Application工作路径字符串。

  例如:

  public class Class1

  {

  public static void main (String[] args)

  {

  System.out.println(System.getProperty("user.dir") );

  }

  }

  控制台输出:

   E:/PathInfo

相关文章推荐

一起talk C栗子吧(第五十八回:C语言实例--获取程序当前的工作路径)

各位看官们,大家好,上一回中咱们说的是main函数参数的例子,这一回咱们说的例子是:获取程序当前 的工作路径。闲话休提,言归正转。让我们一起talk C栗子吧! 我们在工作的时候,有时候需要获...
  • talk_8
  • talk_8
  • 2015年11月05日 22:58
  • 1650

linux下C程序获取绝对路径各种方法分析

昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩觉得很简单啊,就用getcwd或者argv[0]就可以了。写了个程序试试, #include int main(int ...
  • ljx0305
  • ljx0305
  • 2013年06月22日 21:10
  • 15618

C#获取项目程序路径的方法

C#获取项目程序路径的方法   //获取当前进程的完整路径,包含文件名(进程名)。 string str = this.GetType().Assembly.Location; r...

C#中获取程序当前路径的集中方法

原帖:http://blog.csdn.net/21aspnet/article/details/1536872 string str1 =Process.GetCurrentProcess()...

C#获取项目程序路径的方法(zz)

//获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:/xxx/xxx/xxx.exe (....

linux下C程序获取绝对路径各种方法分析

转自:http://blog.csdn.net/ljx0305/article/details/9152523 昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取程序工作路径的方法
举报原因:
原因补充:

(最多只允许输入30个字)