0

ini ファイルにサーバー ポートのリストがあります。これらを取得してリストにロードするには、for ループを使用します。変数を使用してこれを機能させるにはどうすればよいですか。

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

では、どうすればzを数値として渡すことができますか。(つまり、サーバーポート[1])

PS。これが初心者の質問である場合は申し訳ありません。

4

1 に答える 1

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];
于 2012-07-12T15:03:32.397 に答える