获取实验变量时使用变量

时间:2012-07-12 14:59:03

标签: c

我在ini文件中有一个服务器端口列表。获取这些并将它们加载到列表中我使用for循环。我如何使用变量来实现这一点。

ServerAmount = 8;
int z;
ServerPort[];
for ( z = 0; z < ServerAmount; z++ )
{
  if(getenv('SERVERPORT[z]') != NULL)
  {
      ServerPort[z] = getenv('SERVERPORT[z]');
  }
}

所以我如何简单地将z作为数字传递。 (即SERVERPORT [1])

PS。对不起,如果这是noob问题。

1 个答案:

答案 0 :(得分:4)

您应该使用sprintf,请告诉我这是否适合您:

ServerAmount = 8;
int z;
ServerPort[];
for ( z = 0; z < ServerAmount; z++ )
{
  char tmp[20];
  sprintf(tmp, "SERVERPORT[%i]", z);
  if(getenv(tmp) != NULL)
  {
      ServerPort[z] = getenv(tmp);
  }
}

编辑: 顺便说一句,ServerPort[]无效。你可能想写一些类似的东西:

char *ServerPort[8];