Basic and Advance C Question:
Download Questions PDF

How can a process change an environment variable in its caller?

Answer:

It may or may not be possible to do so at all. Different operating systems implement global name/value functionality similar to the Unix environment in different ways. Whether the ``environment'' can be usefully altered by a running program, and if so, how, is system-dependent.
Under Unix, a process can modify its own environment (some systems provide setenv or putenv functions for the purpose), and the modified environment is generally passed on to child processes, but it is not propagated back to the parent process. (The environment of the parent process can only be altered if the parent is explicitly set up to listen for some kind of change requests. The conventional execution of the BSD ``tset'' program in .profile and .login files effects such a scheme.) Under MS-DOS, it's possible to manipulate the master copy of the environment, but the required techniques are arcane.

Download C Programming Interview Questions And Answers PDF

Previous QuestionNext Question
How can I open files mentioned on the command line, and parse option flags?How can I automatically locate a programs configuration files in the same directory as the executable?