How to detect current executable file name?
Jonathan M Davis
jmdavisProg at gmx.com
Sun Feb 17 23:06:32 PST 2013
On Monday, February 18, 2013 07:59:08 SaltySugar wrote:
> On Monday, 18 February 2013 at 03:28:59 UTC, eGust wrote:
> > I need to locate the directory of current executable file, but
> > I can't find how to do that in Phobos. I tried
> > core.runtime.Runtime.args[0], but failed. Is there a standard
> > method of Phobos to do that? I only know the way of Windows
> > (GetModuleFileName), but I think as a common task there should
> > be a platform-independent way to get it in the standard library.
>
> import std.stdio;
>
> void main (string[] args)
> {
> writeln(args[0]);
> }
That'll tell you the name of the executable, but the path is relative to the
directory that the program was run from. However, if you combine that with
std.path.absolutePath, you should be able to get the absolute path to the
executable, and from that you should be able to get the directory with
std.path.dirName.
Alternatively, if you want to know the current working directory, then use
std.file.getcwd.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list