Boost logo

Boost Users :

From: Angus Leeming (angus.leeming_at_[hidden])
Date: 2006-01-20 07:59:10

Sebastian Redl wrote:

> Aaron Griffin wrote:
>>std::string get_env(std::string const& name)
>> char* var = getenv(name.c_str());
>> //getenv can return NULL, std::string(NULL) throws
>> if(var) return var;
>> else return "";
> An empty environment variable is not exactly the same as a non-existent
> one. Perhaps like this:
> boost::optional<std::string> get_env(std::string const &name)
> {
> char *var = getenv(name.c_str());
> if(var) return var;
> else return boost::nothing;
> }

Here's some GPL-ed code to set and get environment variables that works on
both *nix and Windows:
Equivalent url:

Of course, as Sebastian points out, boost::optional would be more
elegant/correct for the getenv wrapper.


Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at