本地环境变量在我的代码:正确的设置,我用下面的C++
putenv("TZ=UTC");
tzset();
设置时区。
的putenv()
宣言(this answer推荐它来设置环境变量):
int putenv(char *string);
构建系统我使用的编译标记-Wall -Wextra -Werror -std=c++0x
,并且由于我遇到了错误:
timeGateway.cpp:80:18: error: ISO C++ forbids converting a string constant to 'char*' [-Werror=write-strings]
putenv("TZ=UTC");
^
我知道这个错误可以通过使用来抑制:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wwrite-strings"
putenv("TZ=UTC");
#pragma GCC diagnostic pop
但这很丑陋。
我的问题:什么是在C++中设置环境变量的正确方法?
阅读['运行putenv的手册页'](http://linux.die.net/man/3/putenv)小心,它有一些重要的东西! – hyde