C库 - getenv() 函数



C 的stdlibgetenv() 函数在与当前进程关联的环境变量列表中搜索由name指向的环境字符串。它通过我们提供的名称找到匹配项。如果找到匹配项,它将返回一个指向包含该环境变量值的C字符串的指针。

环境变量是用户可定义的值,可以影响计算机进程的运行行为。

语法

以下是getenv()函数的C库语法:

char *getenv(const char *name)

参数

此函数接受单个参数:

  • name − 它表示包含指定变量名称的C字符串。

返回值

如果存在环境变量,则此函数返回一个以null结尾的字符串;否则,它返回NULL。

示例1

在这个例子中,我们创建了一个基本的c程序来演示getenv()函数的使用。

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

int main() {
   // Name of the environment variable (e.g., PATH)
   const char *name = "PATH";
   // Get the value associated with the variable
   const char *env_p = getenv(name);
   if(env_p){
      printf("Your %s is %s\n", name, env_p);
   }
   return 0;
}

输出

以下是输出:

Your PATH is /opt/swift/bin:/usr/local/bin/factor:/root/.sdkman/candidates/kotlin/current/bin:/usr/GNUstep/System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/scriba/bin:/usr/local/smlnj/bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/local/dart/bin:/usr/libexec/sdcc:/usr/local/icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/pash/Source/PashConsole/bin/Debug/:.:/root/.sdkman/candidates/kotlin/current/bin:/usr/bin:/sbin:/bin

示例2

让我们创建另一个示例,我们检索path "tutorialspoint"环境变量的值。如果它存在。否则,我们显示“环境变量不存在!”。

#include <stdlib.h>
#include <stdio.h>
int main() {
   // name of the environment
   const char* env_variable = "tutorialspoint";
   // Retrieve the value
   char* value = getenv(env_variable); 

   if (value != NULL) {
      printf("Variable = %s \nValue %s", env_variable, value);
   } else {
      printf("Environment Variable doesn't exist!");
   }
   return 0;
}

输出

以下是输出:

Environment Variable doesn't exist!
广告