当前位置: 技术问答>linux和unix
UNIX中使用putenv需要创建字符串存储空间,而且是只能在本进程中才有用
来源: 互联网 发布时间:2015-06-03
本文导语: UNIX中使用putenv需要创建字符串存储空间,而且是只能在本进程中才有用,如何能够做到只用一个存储字符串的数组来设置跨进程的环境变量,能做到吗? char m_line[256]; while (!feof(m_file)) { fgets(m_line,m_mll,m_file); pu...
UNIX中使用putenv需要创建字符串存储空间,而且是只能在本进程中才有用,如何能够做到只用一个存储字符串的数组来设置跨进程的环境变量,能做到吗?
char m_line[256];
while (!feof(m_file))
{
fgets(m_line,m_mll,m_file);
putenv(m_line);
}
如果是这样的话,只能是最后一次设置的有用,而且只能对自己的进程有效,如果改称这样
while (!feof(m_file))
{
m_line=new char[256];
fgets(m_line,m_mll,m_file);
putenv(m_line);
}
解决了覆盖的问题,但是谁来删除new出来的空间呢?如果需要程序自己维护,那还不如自己写一个链表来解决这个问题
char m_line[256];
while (!feof(m_file))
{
fgets(m_line,m_mll,m_file);
putenv(m_line);
}
如果是这样的话,只能是最后一次设置的有用,而且只能对自己的进程有效,如果改称这样
while (!feof(m_file))
{
m_line=new char[256];
fgets(m_line,m_mll,m_file);
putenv(m_line);
}
解决了覆盖的问题,但是谁来删除new出来的空间呢?如果需要程序自己维护,那还不如自己写一个链表来解决这个问题
|
等你的进程正常结束时,该内存块会被操作系统回收。