getenv_s、wgetenv_s

提供: RAD Studio
移動先: 案内検索

stdlib.h:インデックス への移動



ヘッダー ファイル

stdlib.h

カテゴリ

環境との通信

プロトタイプ

errno_t getenv_s(size_t * restrict len, char * restrict value, rsize_t maxsize, const char * restrict name);

errno_t wgetenv_s(size_t * restrict len, wchar_t * restrict value, rsize_t maxsize, const wchar_t * restrict name);

説明

getenv_s 関数は、name で指定した環境変数の値にアクセスして、その値を value が指す文字列に格納し、文字列の長さを len に設定するのに使用されます。ただし、値の長さが maxsize 以下の場合にだけです。

この関数に設定されている実行時制約は、name および value が NULL であってはならない、maxsize が 0 でも RSIZE_MAX より大きくてもいけない、です。

環境は、name=string\0 の形式の、一連のエントリで構成されています。

getenv_s は、value が指す文字配列に、指定された変数の値を設定します。 name は、大文字でも小文字でも指定できます。 name に、等号記号(=)を含めてはなりません。 指定された環境変数が存在しない場合、getenv_s は、len が指す整数に 0 を、value[0] に NULL を設定します。

メモ: 環境エントリを、直接変更しないでください。 環境変数の値を変更したい場合は、putenv を使用します。

戻り値

getenv_s は、成功した場合 0 を返し、それ以外の場合 0 以外の値を返します。

#include <stdio.h>
#include <stdlib.h>
#include <alloc.h>
#include <string.h>
int main(void)
{
  char ptr[80];
  char *path;
  int i = 0;
  unsigned int len;
  /* Get the current path environment */
  getenv_s(&len, ptr, 80,"PATH");
  /* Set up new path */
  path = (char *) malloc(len+15);
  strcpy(path,"PATH=");
  strcat(path,ptr);
  strcat(path,";c:\\temp");
  /* Replace the current path and display current environment */
  putenv(path);
  while (_environ[i])
    printf_s("%s\n",_environ[i++]);
  return 0;
}

移植性

POSIX Win32 ANSI C ANSI C++

getenv_s

+

+

+

+

関連項目