Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

How can an executing program determine its own pathname?

0
10 Posted

How can an executing program determine its own pathname?

0
10

Your program can look at argv[0]; if it begins with a “/”, it is probably the absolute pathname to your program, otherwise your program can look at every directory named in the environment variable PATH and try to find the first one that contains an executable file whose name matches your program’s argv[0] (which by convention is the name of the file being executed). By concatenating that directory and the value of argv[0] you’d probably have the right name. You can’t really be sure though, since it is quite legal for one program to exec() another with any value of argv[0] it desires. It is merely a convention that new programs are exec’d with the executable file name in argv[0]. For instance, purely a hypothetical example: #include main() { execl(“/usr/games/rogue”, “vi Thesis”, (char *)NULL); } The executed program thinks its name (its argv[0] value) is “vi Thesis”.

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123