getenv_s, wgetenv_s

De RAD Studio
Aller à : navigation, rechercher

Remonter à stdlib.h - Index


Fichier en-tête

stdlib.h

Catégorie

Communication avec l'environnement

Prototype

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);

Description

La fonction getenv_s est utilisée pour accéder à la valeur d'une variable d'environnement spécifiée par name, stocker cette valeur dans la chaîne pointée par value, et définir la longueur de la chaîne dans len, seulement si la longueur de la valeur est plus petite ou égale à maxsize.

Les contraintes d'exécution imposées sur la fonction sont que name et value ne doivent pas être à null et que maxsize ne doit pas être égal à zéro ou supérieur à RSIZE_MAX.

L'environnement est composé d'une suite d'entrées de la forme nom=chaîne\0.

getenv_s définit la valeur d'une variable spécifiée dans le tableau de caractères pointé par value. name peut être en majuscules ou en minuscules. name ne doit pas inclure le signe égal (=). Si la variable d'environnement spécifiée n'existe pas, getenv_s définit l'entier pointé par len sur zéro et value[0] sur null.

Remarque : Les entrées d'environnement ne doivent pas être modifiées directement. Si vous voulez modifier une valeur d'environnement, utilisez putenv.

Valeur renvoyée

En cas de succès, getenv_s renvoie 0. Sinon, une valeur différente de zéro est renvoyée.

Exemple

#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;
}

Portabilité

POSIX Win32 ANSI C ANSI C++

getenv_s

+

+

+

+

Voir aussi