【发布时间】:2019-06-14 05:20:03
【问题描述】:
我正在尝试在使用g++ 编译的程序中使用putenv stdlib 函数,包括标志和警告-std=c++11 和-Wall -Wextra。
程序可以像下面这样简单:
#include<stdlib.h>
#include<iostream>
int main(int argc, char *argv[])
{
putenv("LD_LIBRARY_PATH=../Desktop/lib");
std::cout<<"hello\n";
return 0;
}
但我收到此错误warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]。
据我在 C++ 中的理解,我应该声明:char const *str = 但随后 putenv 正在抱怨。
我知道我可以强制转换,但有没有正确的方法在 C++ 中使用 putenv 函数,或者它是一个应该完全避免的 C 函数?
【问题讨论】:
标签: c++ c environment-variables