BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <stdlib.h> > getenv

getenv() fonksiyonu

Bildirim

char* getenv(const char *name);

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

Açıklama

Name parametresinde adı verilen ortam değişkeninin içeriğini okur. Eğer adı verilen ortam değişkeni sistemde yoksa NULL işaretçi geri döndürür.

getenv_s() fonksiyonu getenv() fonksiyonuna ek olarak, uzunluğu len parametre değeri ile gösterilen ortam değişkeninin içeriği, maksimum boyutu valuesz parametre değeri ile gösterilen value parametre değeri ile gösterilen belleğe yazılır. Eğer adı verilen ortam değişkeni sistemde yoksa, len parametresine 0 değeri value parametresinin ilk byte'ına boş karakter ('\0') yazılır.

Ayrıca, çalışma zamanında aşağıdaki hatalar tespit edildiğinde, yüklenmiş olan kısıtlayıcı işlem fonksiyonu çağrılır:

  • Name parametre değeri NULL bir işaretçi ise,
  • Valuez parametre değeri RSIZE_MAX değerinden büyük ise,
  • Value parametre değeri NULL bir işaretçi ise ve valuesz parametre değeri 0 değil ise.

Parametreler

name: Ortam değişkeninin adını gösteren karakter dizisidir.

len: Ortam değişkeninin uzunluğunun yükleneceği ve kullanıcı tarafından belirlenen bellek adresidir.

value: Ortam değişken içeriğinin yükleneceği kullanıcı tanımlı karakter dizisidir.

valuesz: Value parametre değeri ile gösterilen kullanıcı tanımlı karakter dizisinin maksimum boyutunu gösterir.

Dönüş değeri

Ortam değişkeni sistemde tanımlı ise, ortam değişkeninin içeriğinden oluşan bir karakter dizisini, değişken tanımlı değilse NULL bir işaretçi geri döndürülür.

getenv_s() fonksiyonu ise, ortam değişkeni tanımlı ise 0, ortam değişkeni tanımlı değilse sıfır olmayan bir değer geri döndürür. Bir hata meydana geldiğinde len parametresine 0 değeri yazılır.

Örnek


#include <stdio.h>
#include <stdlib.h>

int main (void) {
    char *penv;

    penv = getenv ("PATH");

    if (penv!=NULL) printf ("PATH ortam değişken içeriği: %s", penv);

    return 0;
}

Yukarıdaki program, getenv() fonksiyonu ile sistemdeki PATH ortam değişkeninin içeriğini alarak ekrana yazar.